SWDEV-321723 - Refactor hipHostMalloc flags

Always choose fing grain memory pool for hipHostMalloc
Choose coarse grain only if hipHostMallocNonCoherent is passed.

Change-Id: I9a67ba77335d4f373d32fea4ecd7848c77f9c190
Этот коммит содержится в:
Saleel Kudchadker
2022-02-25 10:51:11 -08:00
родитель 944c18c754
Коммит 0da908ec79
+7 -7
Просмотреть файл
@@ -510,15 +510,15 @@ hipError_t hipHostMalloc(void** ptr, size_t sizeBytes, unsigned int flags) {
HIP_RETURN(hipErrorInvalidValue);
}
unsigned int ihipFlags = CL_MEM_SVM_FINE_GRAIN_BUFFER | (flags << 16);
if (flags == 0 ||
flags & (hipHostMallocCoherent | hipHostMallocMapped) ||
(!(flags & hipHostMallocNonCoherent) && HIP_HOST_COHERENT)) {
ihipFlags |= CL_MEM_SVM_ATOMICS;
}
// Always choose finegrain memory for hipHostMalloc
unsigned int ihipFlags = CL_MEM_SVM_ATOMICS | CL_MEM_SVM_FINE_GRAIN_BUFFER | (flags << 16);
if (flags & hipHostMallocNumaUser) {
ihipFlags |= CL_MEM_FOLLOW_USER_NUMA_POLICY | CL_MEM_SVM_ATOMICS;
ihipFlags |= CL_MEM_FOLLOW_USER_NUMA_POLICY;
}
if (flags & hipHostMallocNonCoherent) {
ihipFlags &= ~CL_MEM_SVM_ATOMICS;
}
HIP_RETURN_DURATION(ihipMalloc(ptr, sizeBytes, ihipFlags), *ptr);