diff --git a/projects/clr/rocclr/device/rocm/rocblit.cpp b/projects/clr/rocclr/device/rocm/rocblit.cpp index b157705557..d2a1afbd4a 100644 --- a/projects/clr/rocclr/device/rocm/rocblit.cpp +++ b/projects/clr/rocclr/device/rocm/rocblit.cpp @@ -1585,8 +1585,8 @@ bool KernelBlitManager::copyBufferRect(device::Memory& srcMemory, device::Memory bool rejected = false; // Fall into the ROC path for rejected transfers - if (setup_.disableCopyBufferRect_ || - srcMemory.isHostMemDirectAccess() || dstMemory.isHostMemDirectAccess()) { + if (dev().info().pcie_atomics_ && (setup_.disableCopyBufferRect_ || + srcMemory.isHostMemDirectAccess() || dstMemory.isHostMemDirectAccess())) { result = DmaBlitManager::copyBufferRect(srcMemory, dstMemory, srcRectIn, dstRectIn, sizeIn, entire); if (result) { diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/device/rocm/rocvirtual.cpp index 00283a5562..21b95a9209 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.cpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.cpp @@ -2781,7 +2781,7 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, const break; } case amd::KernelParameterDescriptor::HiddenHostcallBuffer: { - if (roc_device_.info().pcie_atomics_) { + if (dev().info().pcie_atomics_) { uintptr_t buffer = reinterpret_cast( roc_device_.getOrCreateHostcallBuffer(gpu_queue_, coopGroups, cuMask_)); if (!buffer) { @@ -2936,8 +2936,8 @@ bool VirtualGPU::submitKernelInternal(const amd::NDRangeContainer& sizes, const // Check for group memory overflow //! @todo Check should be in HSA - here we should have at most an assert - assert(roc_device_.info().localMemSizePerCU_ > 0); - if (ldsUsage > roc_device_.info().localMemSizePerCU_) { + assert(dev().info().localMemSizePerCU_ > 0); + if (ldsUsage > dev().info().localMemSizePerCU_) { LogError("No local memory available\n"); return false; }