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]
이 커밋은 다음에 포함됨:
@@ -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,
|
||||
|
||||
새 이슈에서 참조
사용자 차단