SWDEV-483586 - Unblock staging H2D transfers
Although unpinned copies require synchronizations in HIP, runtime can avoid syncs for H2D copies with a staging buffer Change-Id: If2203c6bc0cbd89742823688dc8e89e9acd873b2
이 커밋은 다음에 포함됨:
1 부모
2d1c6ee23e
커밋
29cc678d8d
10 파일이 변경됨
+119
-64
검색과 일치하는 파일 없음
@@ -599,7 +599,9 @@ hipError_t ihipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKin
|
||||
return hipSuccess;
|
||||
} else if (((srcMemory == nullptr) && (dstMemory != nullptr)) ||
|
||||
((srcMemory != nullptr) && (dstMemory == nullptr))) {
|
||||
isHostAsync = false;
|
||||
// Don't wait for unpinned H2D copy if staging is used for copy
|
||||
isHostAsync &= ((srcMemory == nullptr) && (dstMemory != nullptr) && AMD_DIRECT_DISPATCH &&
|
||||
(sizeBytes <= stream.device().settings().stagedXferSize_)) ? true : false;
|
||||
} else if (srcMemory->GetDeviceById() == dstMemory->GetDeviceById()) {
|
||||
hipMemoryType srcMemoryType = ((CL_MEM_SVM_FINE_GRAIN_BUFFER | CL_MEM_USE_HOST_PTR) &
|
||||
srcMemory->getMemFlags())? hipMemoryTypeHost : hipMemoryTypeDevice;
|
||||
|
||||
새 이슈에서 참조
사용자 차단