AXPY looks bad especially on MacOS (M4)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- c, macos
- Domaine
- performance
Piste de recherche
Commencez par reproduire le benchmark de convolution 2-D signalé et profiler la boucle de convolution présentée dans l’issue, en vous concentrant sur ses appels à daxpy. Comparez les résultats d’OpenBLAS avec Apple vecLib et le comportement x86_64 signalé ; le travail est terminé lorsque le problème de performance est identifié et résolu, avec des éléments de preuve issus du benchmark montrant l’amélioration.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I am doing some benchmarking on 2d convolution in octave and e.g. for simple benchmark like that:
r = ones (1, 5e4);
tic; x1 = conv (r, r); time_row_conv = toc
On MacOS (M4) the timing for OpenBLAS is 3.66 s), and for APPLE veclib it is 0.1 s.
On x86_64 linux (Ryzen 3950x) it is also a couple seconds (and pretty much the same as NETLIB).
I will try to get some other Blas on it eventually to compare.
The conv code essentially is:
const F77_INT len = ma - mb + 1; // Pre-calculate this value to avoid temporary
for (F77_INT k = 0; k < na - nb + 1; k++) {
for (F77_INT j = 0; j < nb; j++) {
for (F77_INT i = 0; i < mb; i++) {
double b_val = b[i + j*mb];
daxpy_(&len, &b_val, &a[mb-i-1 + (k+nb-j-1)*ma], &one, &c[k*len], &one);
}
}
}
and profiler shows that it all dominated by daxpy calls.
- Langage dominant
- C
- Étoiles
- 7.6k
- Forks
- 1.7k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 48
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de OpenMathLib/OpenBLAS
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
OpenMathLib/OpenBLAS#6073 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
OpenMathLib/OpenBLAS#6069 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Missing cgroup awarenessOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
OpenMathLib/OpenBLAS#6059 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
OpenMathLib/OpenBLAS#6029 · 21 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
OpenMathLib/OpenBLAS#6028 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de OpenMathLib/OpenBLAS
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
python-pillow/Pillow#10087 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
OpenPrinting/cups#1729 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
awslabs/amazon-kinesis-video-streams-webrtc-sdk-c#2406 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
DaveGamble/cJSON#1094 ·
-
status:needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
PX4/PX4-Autopilot#28923 ·
Les mainteneurs répondent en général sous 1 jour