Skip to content

Add C++ wrapper Simd::SynetDeconvolution16b - #924

Merged
ermig1979 merged 1 commit into
devfrom
cursor/synet-deconvolution16b-wrapper-6a97
Aug 26, 2026
Merged

Add C++ wrapper Simd::SynetDeconvolution16b#924
ermig1979 merged 1 commit into
devfrom
cursor/synet-deconvolution16b-wrapper-6a97

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

Add Simd::SynetDeconvolution16b, a C++ wrapper analogue of Synet::Deconvolution16b from ermig1979/Synet (src/Synet/Utils/Deconvolution.h on dev).

The class lives in SimdSynet.hpp and wraps:

  • SimdSynetDeconvolution16bInit
  • SimdSynetDeconvolution16bExternalBufferSize
  • SimdSynetDeconvolution16bInternalBufferSize
  • SimdSynetDeconvolution16bInfo
  • SimdSynetDeconvolution16bSetParams
  • SimdSynetDeconvolution16bForward

It follows the existing Simd::SynetDeconvolution32f wrapper style: Init / Enable / buffer-size / Info / SetParams / Forward / Clear, with Doxygen documentation and a usage example.

Test

  • TestSynetDeconvolution16b() in src/Test/TestCheckCpp.cpp compares the wrapper against the C API on a small NHWC 2x2 deconvolution (output values, internal/external buffer sizes, and Info()).
  • Verified locally:
    • ./Test "-r=.." -cc=1 -fi=SobelDx -tt=1 -ts=1 — CheckCpp wrapper test plus Sobel smoke, no failures
    • Standalone wrapper vs C API: Enable, buffer sizes 11528/9216 (FP32) and 12104/9792 (BF16), Info AmxBf16::NhwcGemm, 144 outputs match
    • ./Test "-r=.." -fi=SynetDeconvolution16b -tt=1 -ts=1 — C API auto-tests passed

Docs

  • Doxygen class description in SimdSynet.hpp
  • C++ wrapper notes on the C API functions in SimdLib.h
  • cpp_synet group mention in prj/txt/DoxygenGroups.txt
  • Release 7.2.165 notes in docs/2026.html

SimdSynet.hpp was already listed in prj/vs2022/Simd.vcxproj and prj/vs2022/Simd.vcxproj.filters; no VS project change was required.

Notes

Sources were taken from the dev branches of both Simd and Synet.

Open in Web Open in Cursor 

Add Simd::SynetDeconvolution16b in SimdSynet.hpp as a C++ analogue of Synet::Deconvolution16b, with Doxygen docs, C++ API check test, and release notes for 7.2.165.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
@ermig1979
ermig1979 marked this pull request as ready for review August 26, 2026 12:21
@ermig1979
ermig1979 merged commit 1c05cd4 into dev Aug 26, 2026
1 check passed
@ermig1979
ermig1979 deleted the cursor/synet-deconvolution16b-wrapper-6a97 branch August 27, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants