Skip to content

Add SVE2 optimizations for SynetConvolution16bNhwcSpecV0 - #853

Merged
ermig1979 merged 1 commit into
devfrom
cursor/sve2-synet-convolution16b-nhwc-spec-v0-c412
Aug 13, 2026
Merged

Add SVE2 optimizations for SynetConvolution16bNhwcSpecV0#853
ermig1979 merged 1 commit into
devfrom
cursor/sve2-synet-convolution16b-nhwc-spec-v0-c412

Conversation

@ermig1979

@ermig1979 ermig1979 commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Summary

Adds SVE/SVE2/SVE-BF16 optimizations for Base::SynetConvolution16bNhwcSpecV0 on ARM/ARM64.

  • New: SimdSve2SynetConvolution16bNhwcSpecV0.cpp — convert/reorder preprocess, 2×M convolution microkernels (F=svcntw(), microS=5, microC=F*2) with svbfdot, and Term16b postprocess
  • Wire: Sve2::SynetConvolution16bInit selects Sve2::SynetConvolution16bNhwcSpecV0 when preferable (replacing the previous Neon SpecV0 fallback)
  • Header: Sve2::SynetConvolution16bNhwcSpecV0 in SimdSynetConvolution16b.h
  • Tests: additional NHWC SpecV0 AutoTest cases in TestSynetConvolution16b.cpp
  • VS2022: Sve2.vcxproj / .filters
  • Docs: release 7.2.165 note in docs/2026.html

Test plan

  • Cross-compile for aarch64 with SIMD_SVE2=ON (aarch64-linux-gnu-g++, -march=armv9-a+sve+sve2+i8mm+bf16)
  • Run under qemu (-cpu max,sve128=on): ./Test "-r=.." -fi=SynetConvolution16b -tt=1 -ts=1
  • All SynetConvolution16b AutoTests finished successfully; CPU reported NEON SVE(128) SVE2 SVE-I8MM SVE-BF16; API path timings match Sve2 column (including SpecV0 3×3 / 5×5 shapes such as 112x3x3, 128x20x20-96x3x3, 192x5x5)
Open in Web Open in Cursor 

Port NHWC SpecV0 bf16 convolution to SVE/SVE2/SVE-BF16 with svbfdot
microkernels, wire SynetConvolution16bInit dispatch, extend AutoTests,
update VS2022 Sve2 project files, and release 7.2.165 notes.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
@ermig1979
ermig1979 marked this pull request as ready for review August 13, 2026 07:20
@ermig1979
ermig1979 merged commit b5667be into dev Aug 13, 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