VORTEXM4 on Apple M5/M6: SME2 kernels and parameters are untested
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- c
- Área
- backend, performance
Línea de trabajo
With M5 or M6 hardware, first check SME2 correctness at a 512-bit streaming vector length via s2_usable(). Then measure the VORTEXM4 GEMM parameters in param.h, thread counts in common_thread.h and sme2_gemm_impl.h, and the small-problem and blocking constants in sme2_gemm_impl.h; compare results across chip variants. Done means the kernels are verified and tuned, thread counts agree, and the need for separate core types is resolved.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The SME2 kernels and parameters for VORTEXM4 from #6074 were measured on an M4 Pro only. M5 and M6 (and their Pro/Max variants) also detect as VORTEXM4 (cpuid_arm64.c, and by FEAT_SME at run time), but their SME implementation differs and nothing was tuned or verified on them. Items for someone with that hardware:
- correctness: the kernels need SME2 with a 512-bit streaming vector length (
s2_usable()); with other values they fall back to plain loops; GEMM_P/GEMM_Qfor VORTEXM4 in param.h (fp32 1024/1024, fp64 512/512 on M4 Pro);- the level-3 thread cap
sme_level3_threads()in common_thread.h counts one SME unit per performance cluster (hw.perflevel0.physicalcpu / cpusperl2). The direct GEMM'ss2_units()in sme2_gemm_impl.h doubles that count on M5 Pro/Max ("Super" clusters, from a third-party measurement), so the two disagree there; - the small-problem limit (
S2_SMALL_WORK, 3000 multiply-adds) and the blocking-model constants in sme2_gemm_impl.h (S2_L2_BYTES,S2_TLB_ENTRIES); - whether a separate core type (with its own KERNEL file and parameters) is needed.
The only M5 numbers found so far are in #5841 (base M5: DGEMM at 64 GFLOPS before SME support, 480 with Accelerate).
- Lenguaje dominante
- C
- Estrellas
- 7.6k
- Forks
- 1.7k
- Merge medio
- 1 d 18 h
- PR fusionados (30 d)
- 46
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OpenMathLib/OpenBLAS
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
OpenMathLib/OpenBLAS#6151 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
VORTEXM4: s2_usable() runs RDSVL before the SME2 check (SIGILL without SME)Posiblemente ocupada @tesch1 la tomó hace 2 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
OpenMathLib/OpenBLAS#6150 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
OpenMathLib/OpenBLAS#6149 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 43/100
OpenMathLib/OpenBLAS#6148 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
OpenMathLib/OpenBLAS#6147 ·
Los mantenedores suelen responder en 1 día
Todos los issues de OpenMathLib/OpenBLAS
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
containers/crun#2415 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
zephyrproject-rtos/zephyr#123423 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
dspromote: /etc/exports uses -alldirs on non-mount-point directories, so mountd exports nothingAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
nextbsd/nextbsd-userland#434 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día