Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

VORTEXM4: small SGEMM/DGEMM (n < 128) and GEMV-like shapes slower than other libraries

Offen
#6,149 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
c
Bereich
backend, performance

Rechercherichtung

Start with kernel/arm64/sme2_gemm_impl.h and inspect the s2_gemm path for small multiply counts, then trace GEMM_GEMV_FORWARD for GEMV-like shapes. The issue lists three possible optimization directions but does not identify tests or a single target behavior; first reproduce the VORTEXM4 benchmarks from tesch1/mtgemm-a. Done means benchmark results improve for the cited small shapes while larger cases remain competitive.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

SGEMM/DGEMM on VORTEXM4 for small problems (M4 Pro, one thread, from the tesch1/mtgemm-a benchmarks against OpenBLAS develop 5137bb6):

case OpenBLAS best other
SGEMM col-major n = 4 / 8 / 12 / 16 2 / 7 / 19 / 39 GFLOPS Eigen 5 / 32 / 59 / 73
SGEMM col-major n = 32 / 64 227 / 887 MTGEMM-A 315 / 1089
DGEMM col-major n = 24 / 48 64 / 177 Accelerate 88 / 291
GEMM with one side = 1 (GEMV-like) 26 Accelerate 74
8 x 8 x 4096, 16 x 16 x 4096 (fp32) 95 / 353 Eigen 149 / 592

From n = 128 up OpenBLAS is at 0.94-0.99x of the best.

Background: below 3000 multiply-adds s2_gemm (kernel/arm64/sme2_gemm_impl.h) runs plain C loops; above, each call enters streaming mode (about 28 ns) and packs both operands. Possible work:

  • a register-blocked NEON micro-kernel without packing for the plain-loop range;
  • less per-call overhead on the SME2 path from 14^3 to 96^3 (MTGEMM-A is up to 1.8x faster per call there);
  • for the GEMV-like shapes, a faster GEMV on VORTEXM4 (the GEMM_GEMV_FORWARD path).
Vorherrschende Sprache
C
Sterne
7.6k
Forks
1.7k
Ø Merge
1 T. 18 Std.
Gemergte PRs (30 T.)
46

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus OpenMathLib/OpenBLAS

Alle Issues in OpenMathLib/OpenBLAS

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.