cblas_simatcopy: poor performance/avx512 instructions not supported
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- c
- Área
- performance
Línea de trabajo
Comienza con el archivo adjunto simat_cblas.txt y la invocación de cblas_simatcopy; después, reproduce los tiempos indicados en el Intel i9-10980XE con diferentes cantidades de hilos de OpenBLAS. Inspecciona el ensamblado generado en busca de instrucciones AVX512 y compara los resultados con un solo hilo y con varios hilos. Se considera terminado cuando se haya identificado y documentado o corregido la causa de la falta de uso de AVX512 y del mal escalado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Good afternoon,
I was trying to compare the cblas_simatcopy routine against intel-mkl equivalent and noticed this routine is performing very poorly. I would like to understand if these performance issues were caused by me or if they are inherent to this BLAS implementation.
I've called the routine as defined in intel-mkl documentation:
cblas_simatcopy(CblasRowMajor /* row-major ordering /,
CblasTrans / A will be transposed /,
n / rows /,
n / cols /,
1. / scales the input matrix /,
src / source matrix /,
n / src_stride /,
n / dst_stride */);
I performed some tests on a Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz with GCC version 9.3.1 20200408 (Red Hat 9.3.1-2).
The following sequential execution times were obtained for input matrices of size 8000x8000:
cblas_simatcopy -> 0.117561 seconds
mkl_simatcopy -> 0.047644 seconds
The performance of cblas_simatcopy seems to worsen in a multi-threaded environment (same input matrix):
2 cores -> 0.117933 seconds
4 cores -> 0.166409 seconds
8 cores -> 0.198745 seconds
The number of threads was selected using openblas_set_num_threads(num_threads).
Furthermore I've analyzed the asm file generated by cblas_simatcopy and no zmm register was found, which implies no avx512 instruction was used. My processor, however, can support avx512 instruction and so does my compiler version.
My source code follows in attachment.
Thanks in advance for any insight!
- Lenguaje dominante
- C
- Estrellas
- 7.6k
- Forks
- 1.7k
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 42
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 4/5 3-5 días Aptitud para principiantes 48/100
OpenMathLib/OpenBLAS#6029 · 21 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
OpenMathLib/OpenBLAS#6028 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
OpenMathLib/OpenBLAS#6005 · 21 comentarios · 2 reacciones ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
OpenMathLib/OpenBLAS#5930 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
OpenMathLib/OpenBLAS#5870 · 4 comentarios ·
Todos los issues de OpenMathLib/OpenBLAS
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
zephyrproject-rtos/zephyr#119726 ·
-
[Bounty proposal] fix(web): memory insights count an evening memory on the next day ($25 proposed) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
BasedHardware/omi#15320 ·
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
HarbourMasters/Shipwright#7229 ·
-
Error while building from source Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
riscv-software-src/riscv-isa-sim#2435 · 1 comentario ·