From 3cec88a755fa13a06cf9785d0cd4ef395e4d5963 Mon Sep 17 00:00:00 2001 From: Saleel Kudchadker Date: Tue, 5 Apr 2022 00:45:56 -0700 Subject: [PATCH] SWDEV-331152 - Add back HIP_HOST_COHERENT support Change-Id: I1971df55913498df801ad319a20b95380a2c136f [ROCm/clr commit: b1436f64517b47717978bdaea09298b90faeb41e] --- projects/clr/hipamd/src/hip_memory.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/projects/clr/hipamd/src/hip_memory.cpp b/projects/clr/hipamd/src/hip_memory.cpp index b8b1b2f778..b2039d86c4 100644 --- a/projects/clr/hipamd/src/hip_memory.cpp +++ b/projects/clr/hipamd/src/hip_memory.cpp @@ -514,8 +514,12 @@ hipError_t hipHostMalloc(void** ptr, size_t sizeBytes, unsigned int flags) { HIP_RETURN(hipErrorInvalidValue); } - // Always choose finegrain memory for hipHostMalloc - unsigned int ihipFlags = CL_MEM_SVM_ATOMICS | CL_MEM_SVM_FINE_GRAIN_BUFFER | (flags << 16); + unsigned int ihipFlags = CL_MEM_SVM_FINE_GRAIN_BUFFER | (flags << 16); + if (flags == 0 || + flags & (hipHostMallocCoherent | hipHostMallocMapped | hipHostMallocNumaUser) || + (!(flags & hipHostMallocNonCoherent) && HIP_HOST_COHERENT)) { + ihipFlags |= CL_MEM_SVM_ATOMICS; + } if (flags & hipHostMallocNumaUser) { ihipFlags |= CL_MEM_FOLLOW_USER_NUMA_POLICY;