perf multi device ocl: reduce number of waitOnCpu calls when migrating memory

don't wait on cpu when migrate within same root device

Related-To: NEO-7552
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2023-04-04 10:30:14 +00:00
committed by Compute-Runtime-Automation
parent dbd9b19b35
commit ea15b78a53
2 changed files with 30 additions and 4 deletions

View File

@@ -22,10 +22,10 @@ void MigrationController::handleMigration(Context &context, CommandStreamReceive
auto memoryManager = targetCsr.getMemoryManager();
auto targetRootDeviceIndex = targetCsr.getRootDeviceIndex();
auto migrationSyncData = memObj->getMultiGraphicsAllocation().getMigrationSyncData();
if (!migrationSyncData->isUsedByTheSameContext(targetCsr.getTagAddress())) {
migrationSyncData->waitOnCpu();
}
if (migrationSyncData->getCurrentLocation() != targetRootDeviceIndex) {
if (!migrationSyncData->isUsedByTheSameContext(targetCsr.getTagAddress())) {
migrationSyncData->waitOnCpu();
}
migrateMemory(context, *memoryManager, memObj, targetRootDeviceIndex);
}
migrationSyncData->signalUsage(targetCsr.getTagAddress(), targetCsr.peekTaskCount() + 1);