OpenBLAS controlling thread logic needs to be smarter when thre are overlapping set/restore pairs in different threads
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- performance
Rechercherichtung
Start with the linked pull request #300 and the thread-limit set/restore logic it discusses. Trace how control ownership and saved limits behave in the two-thread scenario described in the issue. Done means a thread that failed to set a limit cannot later restore one and acquire control unexpectedly; verify the behavior with a regression test for the overlapping pairs.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Based on https://github.com/joblib/joblib/pull/1871#issuecomment-6663799616
Scenario:
- Initial limit is L.
- Thread 1 limits to M, stores the fact that previously limit was L. Thread 1 becomes controlling thread.
- Thread 2 tries to limit to N, but fails, stores the fact that previously limit was M.
- Thread 1 restores to L and releases control of thread.
- Thread 2 restores to N, acquiring control as it does so.
The straightforward solution here is something like "if a thread failed to set because it wasn't the controlling thread, it shouldn't restore either."
- Vorherrschende Sprache
- Python
- Sterne
- 434
- Forks
- 38
- Ø Merge
- 1 T. 4 Std.
- Gemergte PRs (30 T.)
- 18
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 joblib/threadpoolctl
-
Drop 3.10Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
joblib/threadpoolctl#295 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
joblib/threadpoolctl#291 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 57/100
joblib/threadpoolctl#276 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Make it possible to set active/spin wait behavior of LLVM/Intel OpenMP via `kmp_set_blocktime`Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
joblib/threadpoolctl#271 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Make it possible to inspect active/spin wait behavior of LLVM/Intel OpenMP via `kmp_get_blocktime`Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
joblib/threadpoolctl#270 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in joblib/threadpoolctl
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
pylint-dev/pylint#11791 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Rasterio granule reads never retry, so one 503 (Service Unavailable) fails the whole requestEvtl. vergeben @chuckwondo hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
developmentseed/titiler-cmr#305 ·
Maintainer antworten meist innerhalb von 1 Tag
-
community enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/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
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag