The performance of the OpenBlas library decreases when running in multi-threaded environments
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- cpp, linux
- Bereich
- performance
Rechercherichtung
Beginnen Sie damit, das bereitgestellte C++-Beispiel unter Ubuntu 24.04 mit OpenBLAS 0.3.26 zu reproduzieren, einschließlich des komplexen Matrixausdrucks und der angegebenen Thread-Einstellungen. Vergleichen Sie die Zeiten und die Systemaufrufzeit bei einem und bei mehreren Threads; als erledigt gilt die Aufgabe, wenn die Ursache der Verschlechterung identifiziert oder die Bedingungen und Konfiguration dokumentiert wurden, die sie vermeiden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
hello,
C++programs run on Ubuntu 24.04 using the OpenBlas library. The function execution time is less than 1ms on a single thread, but it increases several times on multiple threads, and the system call time also increases.
The openblas library is installed using the apt tool, and the default settings are as follows:
OpenBLAS 0.3.26 NO_LAPACKE DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=64
The single thread time is less than 1ms, and opening 8 threads can achieve a maximum of 10ms and a minimum of about 1ms.
The thread function contains a loop traversal operation. Delete the following line of code, and the multi-threaded performance is similar to that of a single thread.
arma::cx_mat pmusic = ss * nnn_md * ss.ht();
Among them, nnn_md is a complex matrix of 15 * 15,ss is a complex matrix 1*15
then,how to solve the problem of multi-threaded performance degradation?
int main()
{
openblas_set_num_threads(1);
int current_threads = openblas_get_num_threads();
printf("current thread num is %d\n", current_threads);
for (int i = 0; i < 1;++i)
{
std::thread t1(processfunction);
t1.detach();
}
while (1)
{
}
}
- Vorherrschende Sprache
- C
- Sterne
- 7.6k
- Forks
- 1.7k
- Ø Merge
- 1 T. 6 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
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus OpenMathLib/OpenBLAS
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
OpenMathLib/OpenBLAS#6069 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Missing cgroup awarenessOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
OpenMathLib/OpenBLAS#6059 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
OpenMathLib/OpenBLAS#6029 · 21 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
OpenMathLib/OpenBLAS#6028 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
OpenMathLib/OpenBLAS#6005 · 21 Kommentare · 2 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in OpenMathLib/OpenBLAS
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
microsoft/ebpf-for-windows#5604 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Update OPENEXR_IMATH_TAGOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 84/100
AcademySoftwareFoundation/openexr#2683 ·
Maintainer antworten meist innerhalb von 1 Tag