From 1f5ae789bb325e257e751bd5148b04579d0c7f1d Mon Sep 17 00:00:00 2001 From: Christophe Paquot Date: Mon, 17 Feb 2020 14:16:31 -0800 Subject: [PATCH] Don't create a marker for start event in hipModuleLaunchKernel And also don't optimize the case where start==stop event to compute elapsed time since the command can be a NDRange one. HIP directed test will need to be fixed for that. Change-Id: I64fadd6ab8ab1a490e7a2b7165a591df5a5cf3a2 --- hipamd/vdi/hip_event.cpp | 8 ++------ hipamd/vdi/hip_module.cpp | 11 ++++------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/hipamd/vdi/hip_event.cpp b/hipamd/vdi/hip_event.cpp index e3d556a52d..5c9d570ea1 100644 --- a/hipamd/vdi/hip_event.cpp +++ b/hipamd/vdi/hip_event.cpp @@ -86,12 +86,8 @@ hipError_t Event::elapsedTime(Event& eStop, float& ms) { return hipErrorNotReady; } - if (event_ != eStop.event_) { - ms = static_cast(static_cast(eStop.event_->profilingInfo().end_ - - event_->profilingInfo().start_))/1000000.f; - } else { - ms = 0.f; - } + ms = static_cast(static_cast(eStop.event_->profilingInfo().end_ - + event_->profilingInfo().start_))/1000000.f; return hipSuccess; } diff --git a/hipamd/vdi/hip_module.cpp b/hipamd/vdi/hip_module.cpp index bd5ccce47c..4a52b7d7df 100644 --- a/hipamd/vdi/hip_module.cpp +++ b/hipamd/vdi/hip_module.cpp @@ -324,12 +324,6 @@ hipError_t ihipModuleLaunchKernel(hipFunction_t f, } } - if(startEvent != nullptr) { - amd::Command* startCommand = new hip::TimerMarker(*queue); - startCommand->enqueue(); - eStart->addMarker(queue, startCommand); - } - amd::NDRangeKernelCommand* command = new amd::NDRangeKernelCommand( *queue, waitList, *kernel, ndrange, sharedMemBytes, params, gridId, numGrids, prevGridSum, allGridSum, firstDevice); @@ -345,11 +339,14 @@ hipError_t ihipModuleLaunchKernel(hipFunction_t f, command->enqueue(); + if(startEvent != nullptr) { + eStart->addMarker(queue, command); + command->retain(); + } if(stopEvent != nullptr) { eStop->addMarker(queue, command); command->retain(); } - command->release(); return hipSuccess;