Remove the thread local begin_timestamp stack

Using a thread_local object is problematic as the thread local
destructors are called first before any global destructor, making
the object invalid while tearing down the process.

rocblas uses a global destructor to clean up the loaded HIP modules
and ends up calling hip_executable_destroy after the timestamp stack
is destructed. As a result the begin timestamp for that API function
is 0.

The solution is to store the phase_enter timestamp in the phase_data.

Change-Id: If143f4d123dfb111c72fb20365431d07e73fc570


[ROCm/roctracer commit: 8a575d8d6e]
Šī revīzija ir iekļauta:
Laurent Morichetti
2022-09-30 13:24:23 -07:00
vecāks 549d6a5ec5
revīzija aaf512c9ad
3 mainīti faili ar 10 papildinājumiem un 46 dzēšanām
+1
Parādīt failu
@@ -401,6 +401,7 @@ class API_DescrParser:
content += ' } ' + call + ';\n'
else:
content += ' } args;\n'
content += ' uint64_t *phase_data;\n'
content += '};\n'
return content