diff --git a/projects/clr/rocclr/device/rocm/rocdevice.cpp b/projects/clr/rocclr/device/rocm/rocdevice.cpp index 1cf7d96464..6cbf80f743 100644 --- a/projects/clr/rocclr/device/rocm/rocdevice.cpp +++ b/projects/clr/rocclr/device/rocm/rocdevice.cpp @@ -2834,6 +2834,9 @@ VirtualGPU* Device::xferQueue() const { LogError("Couldn't create the device transfer manager!"); return nullptr; } + if (xferQueue_->gpu_queue() == nullptr) { + xferQueue_->set_gpu_queue(thisDevice->AcquireActiveNormalQueue()); + } } xferQueue_->enableSyncBlit(); return xferQueue_; diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.hpp b/projects/clr/rocclr/device/rocm/rocvirtual.hpp index 72027178f2..bc683ecff8 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.hpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.hpp @@ -402,6 +402,7 @@ class VirtualGPU : public device::VirtualDevice { hsa_agent_t gpu_device() const { return gpu_device_; } hsa_queue_t* gpu_queue() { return gpu_queue_; } + void set_gpu_queue(hsa_queue_t* gpu_queue) { gpu_queue_ = gpu_queue; } // Return pointer to PrintfDbg PrintfDbg* printfDbg() const { return printfdbg_; }