SWDEV-384557 - Do not fall back to compute

- Use regular copy API if we exhaust free SDMA engines and not fall back
to compute copy. Falling to compute is affecting performance for
numerous apps that are GPU bound

Change-Id: I75c767eff0b9f5ada324301c5c327fe2c23a9806


[ROCm/clr commit: 60d9a4ebab]
이 커밋은 다음에 포함됨:
Saleel Kudchadker
2023-05-18 11:39:36 -07:00
부모 e266f8834b
커밋 9394aa2671
+6 -1
파일 보기
@@ -679,6 +679,7 @@ bool DmaBlitManager::hsaCopy(const Memory& srcMemory, const Memory& dstMemory,
uint32_t copyMask = 0;
uint32_t freeEngineMask = 0;
bool useRegularCopyApi = false;
HwQueueEngine engine = HwQueueEngine::Unknown;
if ((srcAgent.handle == dev().getCpuAgent().handle) &&
@@ -719,8 +720,12 @@ bool DmaBlitManager::hsaCopy(const Memory& srcMemory, const Memory& dstMemory,
if (status != HSA_STATUS_SUCCESS) {
gpu().Barriers().ResetCurrentSignal();
}
} else {
useRegularCopyApi = true;
}
} else {
}
if (engine == HwQueueEngine::Unknown || useRegularCopyApi) {
auto wait_events = gpu().Barriers().WaitingSignal(engine);
hsa_signal_t active = gpu().Barriers().ActiveSignal(kInitSignalValueOne, gpu().timestamp());
ClPrint(amd::LOG_DEBUG, amd::LOG_COPY,