SWDEV-242344-hipMemcpyAll failed on MGPU

Change-Id: I01671e322c84213964d3d48bd6b5dc704dba731a


[ROCm/hip commit: 448008348e]
This commit is contained in:
jujiang
2020-07-20 12:03:04 -04:00
committad av Rahul Garg
förälder cbc01d5488
incheckning 0d993a5cfc
+6 -3
Visa fil
@@ -178,9 +178,12 @@ hipError_t ihipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKin
*srcMemory->asBuffer(), sOffset, sizeBytes, dst);
isAsync = false;
} else if ((srcMemory != nullptr) && (dstMemory != nullptr)) {
// Check if the queue device doesn't match the device on any memory object. Hence
// it's a P2P transfer, because the app has requested access to another GPU
if (srcMemory->getContext().devices()[0] != dstMemory->getContext().devices()[0]) {
// Check if the queue device doesn't match the device on any memory object.
// And any of them are not host allocation.
// Hence it's a P2P transfer, because the app has requested access to another GPU
if ((srcMemory->getContext().devices()[0] != dstMemory->getContext().devices()[0]) &&
((srcMemory->getContext().devices().size() == 1) &&
(dstMemory->getContext().devices().size() == 1))) {
command = new amd::CopyMemoryP2PCommand(queue, CL_COMMAND_COPY_BUFFER, waitList,
*srcMemory->asBuffer(), *dstMemory->asBuffer(), sOffset, dOffset, sizeBytes);
if (command == nullptr) {