diff --git a/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp b/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp index db17bdda5e..ea6b34d43b 100644 --- a/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp +++ b/runtime/hsa-runtime/core/runtime/amd_gpu_agent.cpp @@ -859,6 +859,11 @@ void GpuAgent::InitDma() { && isa_->GetStepping() < 10) rec_eng = -1; + // devices without dedicated xGMI SDMA engines should not target specific + // SDMA engines for queue creation as resources are limited + if (!properties_.NumSdmaXgmiEngines) + rec_eng = -1; + auto ret = CreateBlitSdma(use_xgmi, rec_eng); if (ret != nullptr) return ret; }