Force clock sync on profiling enablement
Fix a condition where we can get a divide-by-zero in the TranslateTime(tick) function if the GPU tick predates HSA startup and we did not do a SyncClocks since initialization. Change-Id: I0dcec8553ccb8f01211928991f4b3ed3cb4a1ebb
Este commit está contenido en:
1 padre
cd4632ccbc
commit
bc585bd8de
1 file changed
+6
@@ -1034,6 +1034,12 @@ hsa_status_t GpuAgent::EnableDmaProfiling(bool enable) {
|
||||
}
|
||||
}
|
||||
|
||||
// If we did not update t1 since agent initialization, force a SyncClock. Otherwise computing
|
||||
// the SystemClockCounter to GPUClockCounter ratio in TranslateTime(tick) results to a division
|
||||
// by 0. We perform the check here because we do not want to check everytime there is a call to
|
||||
// TranslateTime(tick)
|
||||
if (enable && t0_.GPUClockCounter == t1_.GPUClockCounter) SyncClocks();
|
||||
|
||||
return HSA_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user