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


[ROCm/hip commit: 9692ac6b5f]
Bu işleme şunda yer alıyor:
Christophe Paquot
2020-02-17 14:16:31 -08:00
ebeveyn c3037782cd
işleme 256006af22
2 değiştirilmiş dosya ile 6 ekleme ve 13 silme
+2 -6
Dosyayı Görüntüle
@@ -86,12 +86,8 @@ hipError_t Event::elapsedTime(Event& eStop, float& ms) {
return hipErrorNotReady;
}
if (event_ != eStop.event_) {
ms = static_cast<float>(static_cast<int64_t>(eStop.event_->profilingInfo().end_ -
event_->profilingInfo().start_))/1000000.f;
} else {
ms = 0.f;
}
ms = static_cast<float>(static_cast<int64_t>(eStop.event_->profilingInfo().end_ -
event_->profilingInfo().start_))/1000000.f;
return hipSuccess;
}
+4 -7
Dosyayı Görüntüle
@@ -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;