Default to static linking of libcudart#20814
Conversation
ttnghia
left a comment
There was a problem hiding this comment.
We will also need to update spark-rapids-jni after this.
cpp/CMakeLists.txt
Outdated
| @@ -1147,7 +1141,7 @@ if(CUDF_BUILD_STREAMS_TEST_UTIL) | |||
| target_include_directories(${_tgt} PRIVATE "$<BUILD_INTERFACE:${CUDF_SOURCE_DIR}/include>") | |||
| target_link_libraries(${_tgt} PUBLIC CUDA::cudart rmm::rmm) | |||
| @@ -1114,12 +1110,10 @@ endif() | |||
|
|
|||
| # * build cudf_identify_stream_usage -------------------------------------------------------------- | |||
| if(CUDF_BUILD_STREAMS_TEST_UTIL) | |||
There was a problem hiding this comment.
If we can't even enable CUDF_BUILD_STREAMS_TEST_UTIL any more we need to remove it entirely.
@vyasr Do we still need these tests to enforce usage of stream only APIs? If so I think we will need to figure out new CI builds that use cudart=shared and stream tests but aren't part of our release
|
Marking as |
|
Previously Spark RAPIDS encountered performance issues using the static Admittedly that was a long time ago and many things have changed since then Do we know whether this is still relevant for Spark RAPIDS? cc @abellina (who debugged this issue previously) |
|
That issue looks like it was with Arrow statically linking cudart and not cudf. |
Yes at this rate, we are linking cudf with cudart statically in our spark-rapids-jni project, so we are already doing static linking ourselves. I don't see an issue here. |
Summary
CUDA_STATIC_RUNTIME=ON)cuda-cudartfrom conda recipe run requirements (no longer needed when statically linked)This is part of a RAPIDS-wide effort to switch to static CUDA runtime linking. See rapidsai/build-planning#235 for tracking.
Changes
cpp/CMakeLists.txt: ChangeCUDA_STATIC_RUNTIMEdefault from OFF to ONconda/recipes/cudf/recipe.yaml: Removecuda-cudartfrom run depsconda/recipes/cudf_kafka/recipe.yaml: Removecuda-cudartfrom run depsNote: Python builds already use
CUDA_STATIC_RUNTIME=ON(set inpython/libcudf/CMakeLists.txt).