Skip to content

Add SVE2 optimizations for SynetInnerProduct32fGemm - #819

Merged
ermig1979 merged 1 commit into
devfrom
cursor/sve2-synet-inner-product-32f-dfaa
Aug 5, 2026
Merged

Add SVE2 optimizations for SynetInnerProduct32fGemm#819
ermig1979 merged 1 commit into
devfrom
cursor/sve2-synet-inner-product-32f-dfaa

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

Adds SVE/SVE2 optimizations for Base::SynetInnerProduct32fGemm on ARM/ARM64, following the existing Neon and SVE2 SynetConvolution32f Gemm patterns.

Changes

  • New src/Simd/SimdSve2SynetInnerProduct32f.cppSve2::SynetInnerProduct32fGemm uses Sve2::Gemm32fNN / Gemm32fNT and Sve2::SynetInnerProductLayerForward for the M==1 identity path; bias/activation and packed NNcb helpers reuse Neon (no SVE2 NNcb yet).
  • Header SimdSynetInnerProduct32f.h — declare Sve2::SynetInnerProduct32fGemm and SynetInnerProduct32fInit.
  • Dispatch SimdLib.cpp — include SIMD_SVE2_FUNC in SimdSynetInnerProduct32fInit.
  • Tests TestSynetInnerProduct.cpp — register SVE2 Autotest for SynetInnerProduct32fForward.
  • VS2022 — add file to Sve2.vcxproj / .filters under Sve2\Synet\InnerProduct.
  • Docs — note under release 7.2.165 in docs/2026.html.

Validation

  • x86_64 host: Release CMake build succeeded; ./Test "-r=.." -fi=SynetInnerProduct32f -tt=1 -ts=1 finished successfully (Base/Sse41/Avx2/Avx512bw paths).
  • SVE2 path is compile-gated and needs ARM64 SVE2 hardware/CI for correctness and performance.
Open in Web Open in Cursor 

Wire Sve2::SynetInnerProduct32fGemm using Sve2 Gemm32fNN/NT and
SynetInnerProductLayerForward, with Neon bias/activation and NNcb
helpers. Update Init dispatch, Autotest, VS2022 project files, and
release notes for 7.2.165.

Co-authored-by: Ihar Yermalayeu <ermig1979@gmail.com>
@ermig1979
ermig1979 marked this pull request as ready for review August 5, 2026 08:33
@ermig1979
ermig1979 merged commit a0b4960 into dev Aug 5, 2026
1 check passed
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