oneapi-src / oneapi-src/oneAPI-samples

The Execution Time Difference Between Event_Profiling and Steady Clock

Offen
#1,352 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

question
Vorherrschende Sprache
C++
Sterne
1.2k
Forks
745
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I am trying to profile my code and I am getting different results each time I run the code.

auto start = std::chrono::steady_clock::now();
foo()      
auto end = std::chrono::steady_clock::now();
time = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();

why is this giving me different results than using

start_kernel_time = event.get_profiling_info<info::event_profiling::command_start>();
end_kernel_time = event.get_profiling_info<info::event_profiling::command_end>();
time_kernel = (end_kernel_time - start_kernel_time) / kNs; // kNs = 1e9

I run the code several times and interesting thing is steady_clock version first printed out 6.7 seconds and then in the second run printed out 0.07 seconds ( unrealistic) then the event profiling was printed the ~0.64 seconds which made more sense. Why it is different ?

I am using oneapi 2023 with icpx compiler

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es wird keine Quelldatei, kein Test und kein Beispiel-Einstiegspunkt genannt. Beginne damit, die beiden Timing-Snippets mit dem angegebenen Setup aus oneAPI 2023 und icpx zu reproduzieren, und vergleiche dann das vom Host gemessene Intervall der steady clock mit event_profiling command_start und command_end; als erledigt gilt die Aufgabe, wenn die Ursache der Abweichung und eine zuverlässige Methode zur Messung der Ausführungszeit dokumentiert sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
performance
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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