You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
VORTEXM4: complex GEMM and complex level-3 are not on SME2 #6151
Since #6074, real single and double precision on VORTEXM4 run on SME2: the direct GEMM path (sme_[sd]gemm_kernel.c with sme2_gemm_impl.h) and the packed level-3 kernels (gemm_kernel_sme2.c, trsm_kernel_sme2.c). Complex precision does not:
complex SYMM/HEMM, SYRK/HERK, SYR2K/HER2K, TRMM, TRSM and the complex LAPACK routines on the level-3 driver use the NEON kernels of NEOVERSEN1.
Possible work:
packed SME2 complex kernels for the level-3 driver, along the lines of gemm_kernel_sme2.c (FMOPA on real/imaginary parts or the 4M approach), with the matching copies;
an SME2 direct CGEMM/ZGEMM in the style of sme2_gemm_impl.h;
the one-thread-per-SME-unit cap in num_cpu_avail() (sme_level3_threads(), common_thread.h) excludes complex today and would then need to include it.
I'm not sure if it is useful to create this type of issue ticket - if everybody starts pointing out imperfect functions across all architectures there'll be a few thousand open tickets and nothing gained from it. If you plan to share an improvement or start work on a particular issue, you can do so without a prior issue that your eventual PR has to close.
Sounds good, wasn't sure of the best way to work here - I feel (irrationally) bad just dropping PRs without corresponding issues, but that's just my habit, will separate my value system from the workflow henceforth.
The intent is to implement the fix to address the issues, not just complain - I don't think any I just created overlap with other SME issues (I hope!). Feel free to close them if they're annoying - I can find them open or closed and will just drop PRs in the future :o)
Activity
martin-frbg commentedon Oct 21, 2026
I'm not sure if it is useful to create this type of issue ticket - if everybody starts pointing out imperfect functions across all architectures there'll be a few thousand open tickets and nothing gained from it. If you plan to share an improvement or start work on a particular issue, you can do so without a prior issue that your eventual PR has to close.
tesch1 commentedon Oct 22, 2026
Sounds good, wasn't sure of the best way to work here - I feel (irrationally) bad just dropping PRs without corresponding issues, but that's just my habit, will separate my value system from the workflow henceforth.
The intent is to implement the fix to address the issues, not just complain - I don't think any I just created overlap with other SME issues (I hope!). Feel free to close them if they're annoying - I can find them open or closed and will just drop PRs in the future :o)