Skip to content

VORTEXM4: complex GEMM and complex level-3 are not on SME2 #6151

Open

Description

@tesch1

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:

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.

Activity

  1. martin-frbg commented on Oct 21, 2026

    @martin-frbg
    Collaborator

    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.

  2. tesch1 commented on Oct 22, 2026

    @tesch1
    ContributorAuthor

    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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions