Skip to content

Add C++ wrapper Simd::SynetQuantizedInnerProduct - #922

Merged
ermig1979 merged 1 commit into
devfrom
cursor/synet-quantized-inner-product-0b2e
Aug 26, 2026
Merged

Add C++ wrapper Simd::SynetQuantizedInnerProduct#922
ermig1979 merged 1 commit into
devfrom
cursor/synet-quantized-inner-product-0b2e

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Add a C++ wrapper Simd::SynetQuantizedInnerProduct analogous to Synet::QuantizedInnerProduct from ermig1979/Synet (src/Synet/Utils/InnerProduct.h, dev branch).

Changes

  • New class Simd::SynetQuantizedInnerProduct in src/Simd/SimdSynet.hpp wrapping:
    • SimdSynetQuantizedInnerProductInit
    • SimdSynetQuantizedInnerProductInternalBufferSize
    • SimdSynetQuantizedInnerProductExternalBufferSize
    • SimdSynetQuantizedInnerProductInfo
    • SimdSynetQuantizedInnerProductSetParams
    • SimdSynetQuantizedInnerProductForward
  • Doxygen description and usage example for the class (cpp_synet group).
  • C API Doxygen notes pointing to Simd::SynetQuantizedInnerProduct.
  • TestSynetQuantizedInnerProduct() in src/Test/TestCheckCpp.cpp compares wrapper output, buffer sizes and Info() with the C API.
  • Release notes for 7.2.165 in docs/2026.html.
  • prj/txt/DoxygenGroups.txt mentions the new wrapper.

src/Simd/SimdSynet.hpp is already listed in prj/vs2022/Simd.vcxproj and prj/vs2022/Simd.vcxproj.filters.

The wrapper follows the same style as Simd::SynetInnerProduct16b.

Testing

  • CMake Release build (g++, SIMD_SHARED=ON) of the library and Test.
  • ./Test "-r=.." -cc=1 -fi=SynetQuantizedInnerProduct -tt=1 -ts=1: CheckCpp (including TestSynetQuantizedInnerProduct) and SynetQuantizedInnerProduct C API tests finished successfully.
  • Standalone check: Simd::SynetQuantizedInnerProduct::Enable() is true; wrapper output matches the C API (0 mismatches on a 4x8x16 UINT8/INT8 case with const B and bias). Internal/external buffer sizes match (15704 / 14344). Info() is AmxBf16::GemmV1 for both wrapper and C API.
  • GitHub Actions Test / build_and_test_arm64 (13, Release) passed.
Open in Web Open in Cursor 

Provide a Synet-style C++ wrapper around SimdSynetQuantizedInnerProductInit
and related C API functions, with Doxygen docs, CheckCpp coverage, and a
release 7.2.165 note.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
@ermig1979
ermig1979 marked this pull request as ready for review August 26, 2026 07:54
@ermig1979
ermig1979 merged commit f6ae0a1 into dev Aug 26, 2026
1 check passed
@ermig1979
ermig1979 deleted the cursor/synet-quantized-inner-product-0b2e 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