From 20fd6b8a665018d62d7709bf360fbebb90a58ec5 Mon Sep 17 00:00:00 2001 From: Tao Sang Date: Mon, 19 Apr 2021 21:58:36 -0400 Subject: [PATCH] SWDEV-279657 - Fix hipMallocManaged-N256M failure Add concurrentManagedAccess detection in hipMallocManaged test. Skip test when device doesn't support concurrentManagedAccess. Change-Id: Ie54046feef3baba857a7068972ec1fc1a60c2dfd --- hipamd/include/hip/nvidia_detail/hip_runtime_api.h | 3 +++ hipamd/tests/src/runtimeApi/memory/hipMallocManaged.cpp | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/hipamd/include/hip/nvidia_detail/hip_runtime_api.h b/hipamd/include/hip/nvidia_detail/hip_runtime_api.h index 29b26489f8..558bfe5195 100644 --- a/hipamd/include/hip/nvidia_detail/hip_runtime_api.h +++ b/hipamd/include/hip/nvidia_detail/hip_runtime_api.h @@ -1561,6 +1561,9 @@ inline static hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t att case hipDeviceAttributeCooperativeMultiDeviceLaunch: cdattr = cudaDevAttrCooperativeMultiDeviceLaunch; break; + case hipDeviceAttributeConcurrentManagedAccess: + cdattr = cudaDevAttrConcurrentManagedAccess; + break; default: return hipCUDAErrorTohipError(cudaErrorInvalidValue); } diff --git a/hipamd/tests/src/runtimeApi/memory/hipMallocManaged.cpp b/hipamd/tests/src/runtimeApi/memory/hipMallocManaged.cpp index f57bca9cda..5fcf1462c6 100644 --- a/hipamd/tests/src/runtimeApi/memory/hipMallocManaged.cpp +++ b/hipamd/tests/src/runtimeApi/memory/hipMallocManaged.cpp @@ -20,6 +20,15 @@ void add(int n, float *x, float *y) int main(int argc, char *argv[]) { HipTest::parseStandardArguments(argc, argv, true); + int concurrentManagedAccess = 0; + HIPCHECK(hipDeviceGetAttribute(&concurrentManagedAccess, + hipDeviceAttributeConcurrentManagedAccess, + p_gpuDevice)); + if(!concurrentManagedAccess) { + printf("info: concurrent managed access not supported on device %d\n Skipped\n", + p_gpuDevice); + passed(); + } printf("info: set device to %d\n", p_gpuDevice); HIPCHECK(hipSetDevice(p_gpuDevice));