From 33406182a514dad1b103a793bc2471912926bfe7 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 25 Sep 2024 15:17:44 -0400 Subject: Tests: Honor CUDAFLAGS in all CUDA tests --- Tests/Cuda/ProperLinkFlags/CMakeLists.txt | 4 ++-- Tests/CudaOnly/SharedRuntimeViaCUDAFlags/CMakeLists.txt | 8 ++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Tests/Cuda/ProperLinkFlags/CMakeLists.txt b/Tests/Cuda/ProperLinkFlags/CMakeLists.txt index 862b03b..0ef5c16 100644 --- a/Tests/Cuda/ProperLinkFlags/CMakeLists.txt +++ b/Tests/Cuda/ProperLinkFlags/CMakeLists.txt @@ -9,9 +9,9 @@ project(ProperLinkFlags CUDA CXX) #Specify a set of valid CUDA flags and an invalid set of CXX flags ( for CUDA ) #to make sure we don't use the CXX flags when linking CUDA executables if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") - string(APPEND CMAKE_CUDA_FLAGS "--use_fast_math") + string(APPEND CMAKE_CUDA_FLAGS " --use_fast_math") elseif(CMAKE_CUDA_COMPILER_ID STREQUAL "Clang") - string(APPEND CMAKE_CUDA_FLAGS "-ffast-math") + string(APPEND CMAKE_CUDA_FLAGS " -ffast-math") endif() set(CMAKE_CXX_FLAGS "-Wall") diff --git a/Tests/CudaOnly/SharedRuntimeViaCUDAFlags/CMakeLists.txt b/Tests/CudaOnly/SharedRuntimeViaCUDAFlags/CMakeLists.txt index cf6eef2..89a8de8 100644 --- a/Tests/CudaOnly/SharedRuntimeViaCUDAFlags/CMakeLists.txt +++ b/Tests/CudaOnly/SharedRuntimeViaCUDAFlags/CMakeLists.txt @@ -1,10 +1,6 @@ cmake_minimum_required(VERSION 3.17) -project(SharedRuntimeViaCUDAFlags NONE) - -set(CMAKE_CUDA_FLAGS "") -string(APPEND CMAKE_CUDA_FLAGS "-cudart shared") - -enable_language(CUDA) +set(ENV{CUDAFLAGS} "$ENV{CUDAFLAGS} -cudart shared") +project(SharedRuntimeViaCUDAFlags CUDA) add_executable(CudaOnlySharedRuntimeViaCUDAFlags main.cu) -- cgit v0.12 From 515bcd77e5789abb9304e7b8f6d36ca1f9786db4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 25 Sep 2024 12:01:25 -0400 Subject: ci: add job testing cuda12.2 with nvcc using clang 18 as host compiler --- .gitlab-ci.yml | 11 +++++++++++ .gitlab/ci/configure_cuda12.2_nvidia.cmake | 6 +----- .gitlab/ci/configure_cuda12.2_nvidia_clang.cmake | 1 + .gitlab/ci/configure_cuda12.2_nvidia_common.cmake | 5 +++++ .gitlab/ci/env_cuda12.2_nvidia_clang.sh | 5 +++++ .gitlab/os-linux.yml | 6 ++++++ 6 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 .gitlab/ci/configure_cuda12.2_nvidia_clang.cmake create mode 100644 .gitlab/ci/configure_cuda12.2_nvidia_common.cmake create mode 100644 .gitlab/ci/env_cuda12.2_nvidia_clang.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 804a9ff..b352b06 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -396,6 +396,17 @@ t:cuda12.2-nvidia: - .run_dependent - .needs_centos7_x86_64 +t:cuda12.2-nvidia-clang: + extends: + - .cuda12.2_nvidia_clang + - .cmake_test_linux_release + - .linux_x86_64_tags_cuda + - .cmake_junit_artifacts + - .run_dependent + - .needs_centos7_x86_64 + variables: + CMAKE_CI_JOB_NIGHTLY: "true" + t:cuda12.2-clang: extends: - .cuda12.2_clang diff --git a/.gitlab/ci/configure_cuda12.2_nvidia.cmake b/.gitlab/ci/configure_cuda12.2_nvidia.cmake index 51a2511..3019a99 100644 --- a/.gitlab/ci/configure_cuda12.2_nvidia.cmake +++ b/.gitlab/ci/configure_cuda12.2_nvidia.cmake @@ -1,5 +1 @@ -set(CMake_TEST_CUDA "NVIDIA" CACHE STRING "") -set(CMake_TEST_CUDA_CUPTI "ON" CACHE STRING "") -set(CMake_TEST_CUDA_STANDARDS "03;11;14;17;20" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_cuda12.2_nvidia_common.cmake") diff --git a/.gitlab/ci/configure_cuda12.2_nvidia_clang.cmake b/.gitlab/ci/configure_cuda12.2_nvidia_clang.cmake new file mode 100644 index 0000000..3019a99 --- /dev/null +++ b/.gitlab/ci/configure_cuda12.2_nvidia_clang.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_cuda12.2_nvidia_common.cmake") diff --git a/.gitlab/ci/configure_cuda12.2_nvidia_common.cmake b/.gitlab/ci/configure_cuda12.2_nvidia_common.cmake new file mode 100644 index 0000000..51a2511 --- /dev/null +++ b/.gitlab/ci/configure_cuda12.2_nvidia_common.cmake @@ -0,0 +1,5 @@ +set(CMake_TEST_CUDA "NVIDIA" CACHE STRING "") +set(CMake_TEST_CUDA_CUPTI "ON" CACHE STRING "") +set(CMake_TEST_CUDA_STANDARDS "03;11;14;17;20" CACHE STRING "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/env_cuda12.2_nvidia_clang.sh b/.gitlab/ci/env_cuda12.2_nvidia_clang.sh new file mode 100644 index 0000000..0562ab0 --- /dev/null +++ b/.gitlab/ci/env_cuda12.2_nvidia_clang.sh @@ -0,0 +1,5 @@ +export CC=/usr/bin/clang-18 +export CXX=/usr/bin/clang++-18 +export CUDACXX=/usr/local/cuda/bin/nvcc +export CUDAHOSTCXX=/usr/bin/clang++-18 +export CUDAFLAGS=--allow-unsupported-compiler diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 7b95516..fbe6720 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -406,6 +406,12 @@ CMAKE_CONFIGURATION: cuda12.2_nvidia CTEST_NO_WARNINGS_ALLOWED: 1 +.cuda12.2_nvidia_clang: + extends: .cuda12.2 + variables: + CMAKE_CONFIGURATION: cuda12.2_nvidia_clang + CTEST_NO_WARNINGS_ALLOWED: 1 + .cuda12.2_clang: extends: .cuda12.2 variables: -- cgit v0.12