Skip to content

Add SVE2 optimizations for SynetInnerProduct16bGemmNN - #821

Merged
ermig1979 merged 1 commit into
devfrom
cursor/sve2-synet-inner-product-16b-6d76
Aug 5, 2026
Merged

Add SVE2 optimizations for SynetInnerProduct16bGemmNN#821
ermig1979 merged 1 commit into
devfrom
cursor/sve2-synet-inner-product-16b-6d76

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

Adds SVE/SVE2 optimizations for Base::SynetInnerProduct16bGemmNN on ARM/ARM64, following the existing SSE4.1/AVX2 SynetInnerProduct16bGemmNN and SVE2 SynetInnerProduct32f patterns.

Changes

  • New src/Simd/SimdSve2SynetInnerProduct16b.cppSve2::SynetInnerProduct16bInit selects SynetInnerProduct16bGemmNN when preferable.
  • New src/Simd/SimdSve2SynetInnerProduct16bGemmNN.cpp — SVE2 BF16 GemmNN microkernel (F=svcntw(), microM=5, microN=2*F, microK=2) with Convert/Reorder A/B prep and bias/activation postprocess.
  • Header SimdSynetInnerProduct16b.h — declare Sve2::SynetInnerProduct16bGemmNN and SynetInnerProduct16bInit.
  • Dispatch SimdLib.cpp — include SIMD_SVE2_FUNC in SimdSynetInnerProduct16bInit.
  • Tests TestSynetInnerProduct16b.cpp — register SVE2 Autotest.
  • VS2022 — add files to Sve2.vcxproj / .filters under Sve2\Synet\InnerProduct.
  • Docs — note under release 7.2.165 in docs/2026.html.

Validation

  • x86_64 Release CMake build succeeded.
  • ./Test "-r=.." -fi=SynetInnerProduct16b -tt=1 -ts=1 finished successfully (Base/Sse41/Avx2/Avx512bw/AmxBf16 paths).
  • aarch64 cross-compile of the new SVE2 translation units with -march=armv9-a+sve+sve2+i8mm+bf16 -msve-vector-bits=scalable succeeded.
  • Full SVE2 correctness/perf needs ARM64 SVE2 hardware/CI.
Open in Web Open in Cursor 

Port Base::SynetInnerProduct16bGemmNN to ARM/ARM64 SVE2 following the
existing SSE4.1/AVX2 GemmNN and SVE2 SynetInnerProduct32f patterns.
Wire Init dispatch, tests, VS2022 Sve2 project files, and release notes.

Co-authored-by: Ihar Yermalayeu <ermig1979@gmail.com>
@ermig1979
ermig1979 marked this pull request as ready for review August 5, 2026 10:30
@ermig1979
ermig1979 merged commit b6c234f 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