Avoid double mapping of devices to hostMalloc buffer

[ROCm/hip commit: 5e917d70f3]
This commit is contained in:
Rahul Garg
2019-03-25 23:07:05 +05:30
parent 82fd86e63f
commit c6ef785464
+8 -4
View File
@@ -339,15 +339,19 @@ hipError_t hipHostMalloc(void** ptr, size_t sizeBytes, unsigned int flags) {
hip_status = hipErrorInvalidValue;
} else {
auto device = ctx->getWriteableDevice();
#if (__hcc_workweek__ >= 19115)
//Avoid mapping host pinned memory to all devices by HCC
unsigned amFlags = amHostUnmapped;
#else
unsigned amFlags = 0;
#endif
if (flags & hipHostMallocCoherent) {
amFlags = amHostCoherent;
amFlags |= amHostCoherent;
} else if (flags & hipHostMallocNonCoherent) {
amFlags = amHostNonCoherent;
amFlags |= amHostNonCoherent;
} else {
// depends on env variables:
amFlags = HIP_HOST_COHERENT ? amHostCoherent : amHostNonCoherent;
amFlags |= HIP_HOST_COHERENT ? amHostCoherent : amHostNonCoherent;
}