From 1722250807480ea5e06f1cbe18cd185d8bd52adc Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 9 Dec 2025 12:17:30 -0600 Subject: [PATCH 1/3] Use static linkage for CUDA runtime - Set CUDA_STATIC_RUNTIME=ON by default in cpp/CMakeLists.txt - Remove cuda-cudart from run requirements in conda recipes --- conda/recipes/librapidsmpf/recipe.yaml | 4 ---- cpp/CMakeLists.txt | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/conda/recipes/librapidsmpf/recipe.yaml b/conda/recipes/librapidsmpf/recipe.yaml index 749e00511..5ac6a3074 100644 --- a/conda/recipes/librapidsmpf/recipe.yaml +++ b/conda/recipes/librapidsmpf/recipe.yaml @@ -117,7 +117,6 @@ outputs: - ucxx ${{ ucxx_version }} run: - ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }} - - cuda-cudart - cuda-cupti - librmm =${{ minor_version }} - libcudf =${{ minor_version }} @@ -130,7 +129,6 @@ outputs: - ${{ compiler("cxx") }} - ${{ stdlib("c") }} by_name: - - cuda-cudart - cuda-cupti - libcudf - openmpi @@ -165,7 +163,6 @@ outputs: - ${{ pin_subpackage("librapidsmpf", exact=True) }} run: - ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }} - - cuda-cudart - cuda-cupti - librmm =${{ minor_version }} - libcudf =${{ minor_version }} @@ -178,7 +175,6 @@ outputs: - ${{ compiler("cuda") }} =${{ cuda_version }} - ${{ stdlib("c") }} by_name: - - cuda-cudart - cuda-cupti - librmm - libcudf diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index b2c16dba3..8be1fd4f9 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -50,7 +50,7 @@ option(BUILD_BENCHMARKS "Configure CMake to build benchmarks" ON) option(BUILD_EXAMPLES "Configure CMake to build examples" ON) option(BUILD_SHARED_LIBS "Build RapidsMPF shared library" ON) # cudart can be statically linked or dynamically linked. The python ecosystem wants dynamic linking -option(CUDA_STATIC_RUNTIME "Statically link the CUDA runtime" OFF) +option(CUDA_STATIC_RUNTIME "Statically link the CUDA runtime" ON) option(RAPIDSMPF_CLANG_TIDY "Enable clang-tidy during compilation" OFF) option(RAPIDSMPF_ASAN "Enable AddressSanitizer" OFF) option(RAPIDSMPF_VERBOSE_INFO "Enable detail mode" OFF) From ecc4d968789318708829b7884e6f568164bc4945 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 9 Dec 2025 13:57:34 -0600 Subject: [PATCH 2/3] Remove CUDA_STATIC_RUNTIME option, always use static cudart --- cpp/CMakeLists.txt | 5 +---- python/librapidsmpf/CMakeLists.txt | 1 - 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 8be1fd4f9..e791ad805 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -49,8 +49,6 @@ option(BUILD_TESTS "Configure CMake to build tests" ON) option(BUILD_BENCHMARKS "Configure CMake to build benchmarks" ON) option(BUILD_EXAMPLES "Configure CMake to build examples" ON) option(BUILD_SHARED_LIBS "Build RapidsMPF shared library" ON) -# cudart can be statically linked or dynamically linked. The python ecosystem wants dynamic linking -option(CUDA_STATIC_RUNTIME "Statically link the CUDA runtime" ON) option(RAPIDSMPF_CLANG_TIDY "Enable clang-tidy during compilation" OFF) option(RAPIDSMPF_ASAN "Enable AddressSanitizer" OFF) option(RAPIDSMPF_VERBOSE_INFO "Enable detail mode" OFF) @@ -65,7 +63,6 @@ message(STATUS " BUILD_TESTS : ${BUILD_TESTS}") message(STATUS " BUILD_BENCHMARKS : ${BUILD_BENCHMARKS}") message(STATUS " BUILD_EXAMPLES : ${BUILD_EXAMPLES}") message(STATUS " BUILD_SHARED_LIBS : ${BUILD_SHARED_LIBS}") -message(STATUS " CUDA_STATIC_RUNTIME : ${CUDA_STATIC_RUNTIME}") message(STATUS " RAPIDSMPF_CLANG_TIDY : ${RAPIDSMPF_CLANG_TIDY}") message(STATUS " RAPIDSMPF_ASAN : ${RAPIDSMPF_ASAN}") message(STATUS " RAPIDSMPF_VERBOSE_INFO : ${RAPIDSMPF_VERBOSE_INFO}") @@ -292,7 +289,7 @@ target_compile_definitions( $<$:RAPIDSMPF_VERBOSE_INFO> ) -rapids_cuda_set_runtime(rapidsmpf USE_STATIC ${CUDA_STATIC_RUNTIME}) +rapids_cuda_set_runtime(rapidsmpf USE_STATIC ON) add_library(rapidsmpf::rapidsmpf ALIAS rapidsmpf) diff --git a/python/librapidsmpf/CMakeLists.txt b/python/librapidsmpf/CMakeLists.txt index f8ee3215d..8502191d6 100644 --- a/python/librapidsmpf/CMakeLists.txt +++ b/python/librapidsmpf/CMakeLists.txt @@ -34,6 +34,5 @@ endif() unset(RAPIDSMPF_FOUND) -set(CUDA_STATIC_RUNTIME ON) add_subdirectory(../../cpp librapidsmpf) find_package(CUDAToolkit REQUIRED) From 3d70f79d0fd48497dd90a3836173c085d5534b96 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 9 Dec 2025 18:06:53 -0600 Subject: [PATCH 3/3] Remove cuda-cudart and cuda-cudart-dev dependencies --- conda/environments/all_cuda-129_arch-aarch64.yaml | 1 - conda/environments/all_cuda-129_arch-x86_64.yaml | 1 - conda/environments/all_cuda-130_arch-aarch64.yaml | 1 - conda/environments/all_cuda-130_arch-x86_64.yaml | 1 - conda/recipes/librapidsmpf/recipe.yaml | 3 --- conda/recipes/rapidsmpf/recipe.yaml | 2 -- dependencies.yaml | 1 - 7 files changed, 10 deletions(-) diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index 2a4da63c5..ac4ee7e51 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -11,7 +11,6 @@ dependencies: - clang==20.1.4 - click >=8.1 - cmake>=3.30.4,<4 -- cuda-cudart-dev - cuda-cupti-dev - cuda-nvcc - cuda-nvml-dev diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index e88f94d0b..399defa4d 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -11,7 +11,6 @@ dependencies: - clang==20.1.4 - click >=8.1 - cmake>=3.30.4,<4 -- cuda-cudart-dev - cuda-cupti-dev - cuda-nvcc - cuda-nvml-dev diff --git a/conda/environments/all_cuda-130_arch-aarch64.yaml b/conda/environments/all_cuda-130_arch-aarch64.yaml index 4b4857357..02194c20e 100644 --- a/conda/environments/all_cuda-130_arch-aarch64.yaml +++ b/conda/environments/all_cuda-130_arch-aarch64.yaml @@ -11,7 +11,6 @@ dependencies: - clang==20.1.4 - click >=8.1 - cmake>=3.30.4,<4 -- cuda-cudart-dev - cuda-cupti-dev - cuda-nvcc - cuda-nvml-dev diff --git a/conda/environments/all_cuda-130_arch-x86_64.yaml b/conda/environments/all_cuda-130_arch-x86_64.yaml index 830b4c703..4bee6cc2b 100644 --- a/conda/environments/all_cuda-130_arch-x86_64.yaml +++ b/conda/environments/all_cuda-130_arch-x86_64.yaml @@ -11,7 +11,6 @@ dependencies: - clang==20.1.4 - click >=8.1 - cmake>=3.30.4,<4 -- cuda-cudart-dev - cuda-cupti-dev - cuda-nvcc - cuda-nvml-dev diff --git a/conda/recipes/librapidsmpf/recipe.yaml b/conda/recipes/librapidsmpf/recipe.yaml index 5ac6a3074..1d1f81ba6 100644 --- a/conda/recipes/librapidsmpf/recipe.yaml +++ b/conda/recipes/librapidsmpf/recipe.yaml @@ -73,7 +73,6 @@ cache: - ${{ stdlib("c") }} host: - cuda-version =${{ cuda_version }} - - cuda-cudart-dev - cuda-cupti-dev - cuda-nvml-dev - librmm =${{ minor_version }} @@ -109,7 +108,6 @@ outputs: - ${{ stdlib("c") }} host: - cuda-version =${{ cuda_version }} - - cuda-cudart-dev - cuda-cupti-dev - cuda-nvml-dev - libcudf =${{ minor_version }} @@ -153,7 +151,6 @@ outputs: - cuda-nvml-dev - ${{ stdlib("c") }} host: - - cuda-cudart-dev - cuda-cupti-dev - cuda-nvml-dev - cuda-version =${{ cuda_version }} diff --git a/conda/recipes/rapidsmpf/recipe.yaml b/conda/recipes/rapidsmpf/recipe.yaml index af0799954..5020e12eb 100644 --- a/conda/recipes/rapidsmpf/recipe.yaml +++ b/conda/recipes/rapidsmpf/recipe.yaml @@ -79,7 +79,6 @@ requirements: - libnuma - ${{ stdlib("c") }} host: - - cuda-cudart-dev - cuda-cupti-dev - cuda-version =${{ cuda_version }} - cython >=3.0.3,<3.2.0 @@ -118,7 +117,6 @@ requirements: - ${{ compiler("cuda") }} - ${{ stdlib("c") }} by_name: - - cuda-cudart - cuda-cupti - cuda-version - openmpi diff --git a/dependencies.yaml b/dependencies.yaml index 50a42db64..b6ac145f5 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -257,7 +257,6 @@ dependencies: common: - output_types: [conda] packages: - - cuda-cudart-dev - cuda-cupti-dev - cuda-nvml-dev - cuda-nvrtc-dev