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
이 커밋은 다음에 포함됨:
David Yat Sin가 2023-07-07 10:08:54 -04:00를 커밋했습니다
1 부모 cd4632ccbc
커밋 bc585bd8de
1 파일이 변경됨
+6
+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;
}