performance: introduce staging reads from image

Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
This commit is contained in:
Szymon Morek
2024-12-05 13:56:30 +00:00
committed by Compute-Runtime-Automation
parent f2725f217e
commit 6c4eb322b1
16 changed files with 702 additions and 241 deletions

View File

@@ -397,10 +397,6 @@ void Event::calculateProfilingDataInternal(uint64_t contextStartTS, uint64_t con
auto &device = this->cmdQueue->getDevice();
auto &gfxCoreHelper = device.getGfxCoreHelper();
auto resolution = device.getDeviceInfo().profilingTimerResolution;
if (isAdjustmentNeeded) {
// Adjust startTS since we calculate profiling based on other event timestamps
contextStartTS = startTimeStamp.gpuTimeStamp;
}
// Calculate startTimestamp only if it was not already set on CPU
if (startTimeStamp.cpuTimeInNs == 0) {
@@ -1046,4 +1042,20 @@ TaskCountType Event::peekTaskLevel() const {
return taskLevel;
}
void Event::copyTimestamps(Event &srcEvent) {
if (timestampPacketContainer) {
this->addTimestampPacketNodes(*srcEvent.getTimestampPacketNodes());
} else {
if (this->timeStampNode != nullptr) {
this->timeStampNode->returnTag();
}
this->timeStampNode = srcEvent.timeStampNode;
srcEvent.timeStampNode = nullptr;
}
this->queueTimeStamp = srcEvent.queueTimeStamp;
this->submitTimeStamp = srcEvent.submitTimeStamp;
this->startTimeStamp = srcEvent.startTimeStamp;
this->endTimeStamp = srcEvent.endTimeStamp;
}
} // namespace NEO