Sysman API is not thread-safe when the handle is same

Offen
#68 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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
Bereich
api, documentation

Rechercherichtung

Beginne mit der Dokumentation zu zesMemoryGetState und dem im Bericht verlinkten Abschnitt zu Multithreading und Nebenläufigkeit in der Einführung zu Level Zero. Reproduziere den nebenläufigen Aufruf mit demselben Handle, der SIGABT verursacht, und vergleiche anschließend das beobachtete Verhalten mit den dokumentierten Garantien für Threading. Als erledigt gilt die Aufgabe, wenn das erwartete Verhalten bei der Handle-Nebenläufigkeit bestätigt und das Problem in der API-Dokumentation oder Implementierung eindeutig identifiziert wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

I just want to confirm that this is the expected API behavior: When Sysman API (e.g., zesMemoryGetState) is called with same handle concurrently, they are not thread-safe.

Because almost all Sysman API doc (e.g., zesMemoryGetState Doc) says "The application may call this function from simultaneous threads.", I get an impression that all these functions are thread-safe in all cases. But in fact when calling it from concurrent threads using same handle, I get SIGABT due to memory corruption. So I guess that this "The application may call this function from simultaneous threads." requires different handles as described in the introduction section of LevelZero spec.

Vorherrschende Sprache
C++
Sterne
335
Forks
140
Ø Merge
12 Std. 32 Min.
Gemergte PRs (30 T.)
5

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus oneapi-src/level-zero

Alle Issues in oneapi-src/level-zero

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.