mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-26 23:33:20 +08:00
fix: setup both cpu & gpu timestamp when setting timestamp in event
Related-To: NEO-8394 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
5c8cbc80eb
commit
c68f7c8fe2
@@ -227,13 +227,11 @@ void CommandQueueHw<Family>::setupEvent(EventBuilder &eventBuilder, cl_event *ou
|
||||
|
||||
if (eventObj->isProfilingEnabled()) {
|
||||
TimeStampData queueTimeStamp;
|
||||
|
||||
getDevice().getOSTime()->getCpuGpuTime(&queueTimeStamp);
|
||||
eventObj->setQueueTimeStamp(&queueTimeStamp);
|
||||
eventObj->setQueueTimeStamp(queueTimeStamp);
|
||||
|
||||
if (isCommandWithoutKernel(cmdType) && cmdType != CL_COMMAND_MARKER) {
|
||||
eventObj->setCPUProfilingPath(true);
|
||||
eventObj->setQueueTimeStamp();
|
||||
}
|
||||
}
|
||||
DBG_LOG(EventsDebugEnable, "enqueueHandler commandType", cmdType, "output Event", eventObj);
|
||||
|
||||
@@ -60,7 +60,9 @@ void *CommandQueue::cpuDataTransferHandler(TransferProperties &transferPropertie
|
||||
if (eventsRequest.outEvent && !isMarkerRequiredForEventSignal) {
|
||||
eventBuilder.create<Event>(this, transferProperties.cmdType, CompletionStamp::notReady, CompletionStamp::notReady);
|
||||
outEventObj = eventBuilder.getEvent();
|
||||
outEventObj->setQueueTimeStamp();
|
||||
TimeStampData queueTimeStamp;
|
||||
getDevice().getOSTime()->getCpuGpuTime(&queueTimeStamp);
|
||||
outEventObj->setQueueTimeStamp(queueTimeStamp);
|
||||
outEventObj->setCPUProfilingPath(true);
|
||||
*eventsRequest.outEvent = outEventObj;
|
||||
}
|
||||
@@ -96,7 +98,9 @@ void *CommandQueue::cpuDataTransferHandler(TransferProperties &transferPropertie
|
||||
bool modifySimulationFlags = false;
|
||||
|
||||
if (outEventObj) {
|
||||
outEventObj->setSubmitTimeStamp();
|
||||
TimeStampData submitTimeStamp;
|
||||
getDevice().getOSTime()->getCpuGpuTime(&submitTimeStamp);
|
||||
outEventObj->setSubmitTimeStamp(submitTimeStamp);
|
||||
}
|
||||
// wait for the completness of previous commands
|
||||
if (transferProperties.finishRequired) {
|
||||
|
||||
@@ -418,7 +418,9 @@ cl_int CommandQueueHw<GfxFamily>::enqueueHandler(Surface **surfacesForResidency,
|
||||
completionStamp.taskLevel = taskLevel;
|
||||
|
||||
if (eventBuilder.getEvent() && isProfilingEnabled()) {
|
||||
eventBuilder.getEvent()->setSubmitTimeStamp();
|
||||
TimeStampData submitTimeStamp;
|
||||
getDevice().getOSTime()->getCpuGpuTime(&submitTimeStamp);
|
||||
eventBuilder.getEvent()->setSubmitTimeStamp(submitTimeStamp);
|
||||
eventBuilder.getEvent()->setStartTimeStamp();
|
||||
}
|
||||
|
||||
@@ -846,7 +848,9 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueNonBlocked(
|
||||
}
|
||||
|
||||
if (isProfilingEnabled() && eventBuilder.getEvent()) {
|
||||
eventBuilder.getEvent()->setSubmitTimeStamp();
|
||||
TimeStampData submitTimeStamp;
|
||||
getDevice().getOSTime()->getCpuGpuTime(&submitTimeStamp);
|
||||
eventBuilder.getEvent()->setSubmitTimeStamp(submitTimeStamp);
|
||||
|
||||
auto hwTimestampNode = eventBuilder.getEvent()->getHwTimeStampNode();
|
||||
if (hwTimestampNode) {
|
||||
@@ -1111,7 +1115,9 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueCommandWithoutKernel(
|
||||
}
|
||||
|
||||
if (eventBuilder.getEvent() && isProfilingEnabled()) {
|
||||
eventBuilder.getEvent()->setSubmitTimeStamp();
|
||||
TimeStampData submitTimeStamp;
|
||||
getDevice().getOSTime()->getCpuGpuTime(&submitTimeStamp);
|
||||
eventBuilder.getEvent()->setSubmitTimeStamp(submitTimeStamp);
|
||||
eventBuilder.getEvent()->setStartTimeStamp();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user