From 94f2f17cb075f29b2451440ef86fe7b9363159b0 Mon Sep 17 00:00:00 2001 From: Sean Keely Date: Wed, 15 Aug 2018 15:50:57 -0500 Subject: [PATCH] Add debug checking of time stamps validity. Can only check that the signal has some time stamp, can't check if the translating agent matches the last used agent or not. Change-Id: I62943a864318808059c617280bb65a269dfadd1b [ROCm/ROCR-Runtime commit: aca00b7238162ac4211c9c431177b2ff45fec751] --- .../runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp index 571ad544c3..7b8878ad45 100644 --- a/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp +++ b/projects/rocr-runtime/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp @@ -1034,6 +1034,11 @@ void GpuAgent::TranslateTime(core::Signal* signal, SyncClocks(); } + if ((signal->signal_.start_ts == 0) || (signal->signal_.end_ts == 0) || + (signal->signal_.start_ts > t1_.GPUClockCounter) || + (signal->signal_.end_ts > t1_.GPUClockCounter)) + debug_print("Signal %p time stamps may be invalid.", &signal->signal_); + time.start = uint64_t( (double(int64_t(t0_.SystemClockCounter - t1_.SystemClockCounter)) / double(int64_t(t0_.GPUClockCounter - t1_.GPUClockCounter))) *