diff --git a/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp b/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp index 438dcdc141..c8f5eab22c 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpublit.cpp @@ -547,6 +547,7 @@ DmaBlitManager::copyBuffer( { if (setup_.disableCopyBuffer_ || (gpuMem(srcMemory).isHostMemDirectAccess() && gpuMem(srcMemory).isCacheable() && + !dev().settings().apuSystem_ && gpuMem(dstMemory).isHostMemDirectAccess())) { return HostBlitManager::copyBuffer( srcMemory, dstMemory, srcOrigin, dstOrigin, size); diff --git a/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp b/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp index ffea2c9293..8c4eb36be7 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpuresource.cpp @@ -386,7 +386,12 @@ Resource::create(MemoryType memType, CreateParams* params, bool heap) if (dev().settings().remoteAlloc_ && !heap && ((memoryType() == Local) || (memoryType() == Persistent))) { - cal_.type_ = RemoteUSWC; + if (dev().settings().apuSystem_ && dev().settings().viPlus_) { + cal_.type_ = Remote; + } + else { + cal_.type_ = RemoteUSWC; + } } if (dev().settings().disablePersistent_ && (memoryType() == Persistent)) {