From e3cf10192c3bfdff55ae4d3076027b72c77da616 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Mon, 21 Oct 2019 17:50:00 +0300 Subject: [PATCH] [HIPIFY][tests] Set max clang's CudaArch for corresponding CUDA major.minor version [Reason] To support maximum CUDA features in offline tests + Add defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 600 restriction for atomicAdd on doubles in atomics.cu. So if LLVM < 7 and --cuda-gpu-arch doesn't work, __CUDA_ARCH__ is unset too (350 by default in clang); if LLVM >= 7 --cuda-gpu-arch is used and __CUDA_ARCH__ is set based on it. [ROCm/clr commit: 3233a845f63af019f83843bcce753e3325fd63b4] --- projects/clr/hipamd/tests/hipify-clang/lit.cfg | 16 +++++++++++----- .../hipify-clang/unit_tests/device/atomics.cu | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/projects/clr/hipamd/tests/hipify-clang/lit.cfg b/projects/clr/hipamd/tests/hipify-clang/lit.cfg index 79be2b3d39..ea496e6a69 100644 --- a/projects/clr/hipamd/tests/hipify-clang/lit.cfg +++ b/projects/clr/hipamd/tests/hipify-clang/lit.cfg @@ -111,12 +111,18 @@ if config.pointer_size == 8: # Set max clang's CudaArch for corresponding CUDA version # to support maximum CUDA features in offline tests if config.cuda_version_major == 7: - clang_arguments += " --cuda-gpu-arch=sm_52" -if config.cuda_version_major == 8: + if config.cuda_version_minor == 5: + clang_arguments += " --cuda-gpu-arch=sm_53" + else: + clang_arguments += " --cuda-gpu-arch=sm_52" +elif config.cuda_version_major == 8: clang_arguments += " --cuda-gpu-arch=sm_62" -if config.cuda_version_major == 9: - clang_arguments += " --cuda-gpu-arch=sm_70" -if config.cuda_version_major == 10: +elif config.cuda_version_major == 9: + if config.cuda_version_minor == 2: + clang_arguments += " --cuda-gpu-arch=sm_72" + else: + clang_arguments += " --cuda-gpu-arch=sm_70" +elif config.cuda_version_major == 10: clang_arguments += " --cuda-gpu-arch=sm_75" # cuDNN ROOT diff --git a/projects/clr/hipamd/tests/hipify-clang/unit_tests/device/atomics.cu b/projects/clr/hipamd/tests/hipify-clang/unit_tests/device/atomics.cu index e24b9a2175..3089efe1b8 100644 --- a/projects/clr/hipamd/tests/hipify-clang/unit_tests/device/atomics.cu +++ b/projects/clr/hipamd/tests/hipify-clang/unit_tests/device/atomics.cu @@ -276,7 +276,7 @@ int main(int argc, char** argv) { runTest(); runTest(); runTest(); -#if CUDA_VERSION >= 8000 +#if CUDA_VERSION >= 8000 && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 600 runTest(); #endif // CHECK: hipDeviceReset();