rocr: Workaround segfault on GFX9 devices older than GFX90a
Devices older than GFX90a hit a segfault on queue unmap when an
SDMA queue has been assigned a fixed engine. Bypass fixing the
engine for these devices for now.
Change-Id: I7d2f882d2377f004a7bb65f3b397396db07ce6d3
[ROCm/ROCR-Runtime commit: 1d6ff45673]
This commit is contained in:
@@ -839,6 +839,12 @@ void GpuAgent::InitDma() {
|
||||
kfd_version.KernelInterfaceMinorVersion >= 17)))
|
||||
rec_eng = -1;
|
||||
|
||||
// Observing strange behavior when fixing host<->device engines
|
||||
// on GFX9 devices older than GFX90a, so bypass engine fix.
|
||||
if (!use_xgmi && isa_->GetMajorVersion() == 9 && isa_->GetMinorVersion() == 0
|
||||
&& isa_->GetStepping() < 10)
|
||||
rec_eng = -1;
|
||||
|
||||
auto ret = CreateBlitSdma(use_xgmi, rec_eng);
|
||||
if (ret != nullptr) return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user