Skip to content

Add C++ wrapper Simd::SynetDeconvolution32f - #923

Merged
ermig1979 merged 1 commit into
devfrom
cursor/synet-deconvolution32f-wrapper-de69
Aug 26, 2026
Merged

Add C++ wrapper Simd::SynetDeconvolution32f#923
ermig1979 merged 1 commit into
devfrom
cursor/synet-deconvolution32f-wrapper-de69

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

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

The class lives in SimdSynet.hpp and wraps:

  • SimdSynetDeconvolution32fInit
  • SimdSynetDeconvolution32fExternalBufferSize
  • SimdSynetDeconvolution32fInternalBufferSize
  • SimdSynetDeconvolution32fInfo
  • SimdSynetDeconvolution32fSetParams
  • SimdSynetDeconvolution32fForward

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

Test

  • TestSynetDeconvolution32f() 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 70/1, Info Avx512bw::NhwcDirect2x2, 144 outputs match
    • ./Test "-r=.." -fi=SynetDeconvolution32f -fe=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::SynetDeconvolution32f in SimdSynet.hpp as a C++ analogue of Synet::Deconvolution32f, 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:00
@ermig1979
ermig1979 merged commit b223481 into dev Aug 26, 2026
1 check passed
@ermig1979
ermig1979 deleted the cursor/synet-deconvolution32f-wrapper-de69 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