Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

DAXPY outperforms DSCAL in multi-threaded environments

Ouverte
#5,328 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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é
Plutôt claire
Activité
À l'abandon
Stack technique
c
Domaine
performance

Piste de recherche

Commencez par reproduire les temps d’exécution signalés de dscal et daxpy avec OPENBLAS_NUM_THREADS défini sur 1 et 16, sur un vecteur de longueur 80 000. Comparez les chemins d’exécution de dscal et daxpy et documentez pourquoi leur comportement multithread diffère ; le travail est considéré comme terminé lorsque l’écart est expliqué et que toute modification a été vérifiée avec les deux configurations de threads.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Issue Description:

I'm observing a significant performance disparity between dscal and daxpy when performing vector-scalar multiplication on an Intel(R) Xeon(R) Platinum 8378C CPU @ 2.80GHz. My code involves the operation y=ax, where x is a vector of length 80,000.

Observed Behavior:

Despite setting the OPENBLAS_NUM_THREADS environment variable to either 1 or 16, the execution time for dscal remains unchanged, indicating no utilization of multiple cores.

However, when I replace dscal with an equivalent operation using daxpy, specifically y=(a−1)x+x (having a loss in precision), I observe a multi-fold performance improvement in the multi-core scenario.

Problem:

Given that dscal and daxpy have very similar computational patterns, I'm seeking to understand why there's such a substantial difference in their multi-core performance. This behavior suggests that dscal is not effectively leveraging the available CPU cores, unlike daxpy.

Langage dominant
C
Étoiles
7.6k
Forks
1.7k
Merge moyen
1 j 9 h
PR mergées (30 j)
44

Préparer son environnement

Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de OpenMathLib/OpenBLAS

Toutes les issues de OpenMathLib/OpenBLAS

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.