diff --git a/projects/clr/hipamd/rocclr/hip_memory.cpp b/projects/clr/hipamd/rocclr/hip_memory.cpp index 915d1248a6..bdde2e4e36 100755 --- a/projects/clr/hipamd/rocclr/hip_memory.cpp +++ b/projects/clr/hipamd/rocclr/hip_memory.cpp @@ -202,7 +202,9 @@ hipError_t ihipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKin } } else { amd::HostQueue* pQueue = &queue; - if ((srcMemory->getContext().devices()[0] == dstMemory->getContext().devices()[0]) && + if (((srcMemory->getContext().devices()[0] == dstMemory->getContext().devices()[0]) || + (srcMemory->getContext().devices().size() != 1) || + (dstMemory->getContext().devices().size() != 1)) && (queueDevice != srcMemory->getContext().devices()[0])) { pQueue = hip::getNullStream(srcMemory->getContext()); amd::Command* cmd = queue.getLastQueuedCommand(true);