From d340f5a7ba0ef27d6adcf015a2c1ae8525971fd3 Mon Sep 17 00:00:00 2001 From: Alessandro Bellina Date: Wed, 7 Apr 2021 13:19:35 -0500 Subject: [PATCH 1/3] Ensure nvcomp dynamically links against cudart if CUDA_STATIC_RUNTIME=OFF --- java/src/main/native/cmake/Modules/ConfigureNvcomp.cmake | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/java/src/main/native/cmake/Modules/ConfigureNvcomp.cmake b/java/src/main/native/cmake/Modules/ConfigureNvcomp.cmake index 0bef79116af..bff0f4ac606 100644 --- a/java/src/main/native/cmake/Modules/ConfigureNvcomp.cmake +++ b/java/src/main/native/cmake/Modules/ConfigureNvcomp.cmake @@ -16,7 +16,13 @@ set(NVCOMP_ROOT "${CMAKE_BINARY_DIR}/nvcomp") -set(NVCOMP_CMAKE_ARGS "-DUSE_RMM=ON -DCUB_DIR=${CUB_INCLUDE}") +if(CUDA_STATIC_RUNTIME) + set(NVCOMP_CUDA_RUNTIME_LIBRARY Static) +else() + set(NVCOMP_CUDA_RUNTIME_LIBRARY Shared) +endif() + +set(NVCOMP_CMAKE_ARGS "-DCMAKE_CUDA_RUNTIME_LIBRARY=${NVCOMP_CUDA_RUNTIME_LIBRARY} -DUSE_RMM=ON -DCUB_DIR=${CUB_INCLUDE}") configure_file("${CMAKE_SOURCE_DIR}/cmake/Templates/Nvcomp.CMakeLists.txt.cmake" "${NVCOMP_ROOT}/CMakeLists.txt") From 56d0732708711307e2e02797848d6422dc0308a5 Mon Sep 17 00:00:00 2001 From: Alessandro Bellina Date: Wed, 7 Apr 2021 13:50:27 -0500 Subject: [PATCH 2/3] Fail the java ci if we detect static CUDA runtime symbols --- java/ci/build-in-docker.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/ci/build-in-docker.sh b/java/ci/build-in-docker.sh index fc7e5762275..767efbd292c 100755 --- a/java/ci/build-in-docker.sh +++ b/java/ci/build-in-docker.sh @@ -74,6 +74,9 @@ fi cd $WORKSPACE/java mvn -B clean package $BUILD_ARG +###### Sanity test to check whether we have cudart statically built anywhere +find . -name '*.so' | xargs -I{} readelf -Ws {} | grep cuInit && echo "Found statically linked CUDA runtime, this is currently not tested" && exit 1 + ###### Stash Jar files ###### rm -rf $OUT_PATH mkdir -p $OUT_PATH From 2e06b09ad4014f6803ccdde1584590f24e8ea140 Mon Sep 17 00:00:00 2001 From: Alessandro Bellina Date: Wed, 7 Apr 2021 16:15:24 -0500 Subject: [PATCH 3/3] Simplify comment --- java/ci/build-in-docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/ci/build-in-docker.sh b/java/ci/build-in-docker.sh index 767efbd292c..10be5b9c639 100755 --- a/java/ci/build-in-docker.sh +++ b/java/ci/build-in-docker.sh @@ -74,7 +74,7 @@ fi cd $WORKSPACE/java mvn -B clean package $BUILD_ARG -###### Sanity test to check whether we have cudart statically built anywhere +###### Sanity test: fail if static cudart found ###### find . -name '*.so' | xargs -I{} readelf -Ws {} | grep cuInit && echo "Found statically linked CUDA runtime, this is currently not tested" && exit 1 ###### Stash Jar files ######