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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
مرجع در شماره جدید
Block a user