Skip to content

Commit e3af4cd

Browse files
Remove NO_CUDART_DEP property (#2065)
This property, add to rmm in rapidsai/rmm#2317 and used in cuvs in #1931, is a holdover from when rmm enforced linking of dynamic cudart. rapidsai/rmm#2375 switched to static cudart and stopped querying the property, so remove it. Also update Java bindings to explicitly load cudart now that it's not being pulled in as an indirect dependency. Issue: rapidsai/build-planning#235 Authors: - Kyle Edwards (https://github.com/KyleFromNVIDIA) - Artem M. Chirkin (https://github.com/achirkin) Approvers: - Bradley Dice (https://github.com/bdice) - Corey J. Nolet (https://github.com/cjnolet) URL: #2065
1 parent 49c3037 commit e3af4cd

3 files changed

Lines changed: 11 additions & 16 deletions

File tree

cpp/CMakeLists.txt

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,21 +1027,16 @@ if(NOT BUILD_CPU_ONLY)
10271027

10281028
target_link_libraries(
10291029
cuvs
1030-
INTERFACE $<COMPILE_ONLY:rmm::rmm>
1031-
PUBLIC raft::raft
1030+
PUBLIC rmm::rmm
1031+
raft::raft
10321032
cuvs::cuvs_cpp_headers
10331033
${CUVS_CTK_MATH_DEPENDENCIES}
10341034
$<BUILD_LOCAL_INTERFACE:$<TARGET_NAME_IF_EXISTS:NCCL::NCCL>>
10351035
$<BUILD_LOCAL_INTERFACE:$<TARGET_NAME_IF_EXISTS:hnswlib::hnswlib>>
10361036
$<$<BOOL:${CUVS_NVTX}>:CUDA::nvtx3>
1037-
PRIVATE rmm::rmm
1038-
$<TARGET_NAME_IF_EXISTS:OpenMP::OpenMP_CXX>
1039-
$<COMPILE_ONLY:nvidia::cutlass::cutlass>
1040-
$<COMPILE_ONLY:cuco::cuco>
1041-
CUDA::nvJitLink
1042-
CUDA::nvrtc
1037+
PRIVATE $<TARGET_NAME_IF_EXISTS:OpenMP::OpenMP_CXX> $<COMPILE_ONLY:nvidia::cutlass::cutlass>
1038+
$<COMPILE_ONLY:cuco::cuco> CUDA::nvJitLink CUDA::nvrtc
10431039
)
1044-
set_property(TARGET cuvs PROPERTY NO_CUDART_DEP ON)
10451040

10461041
# ensure CUDA symbols aren't relocated to the middle of the debug build binaries
10471042
file(
@@ -1089,21 +1084,19 @@ SECTIONS
10891084

10901085
target_link_libraries(
10911086
cuvs_static
1092-
INTERFACE $<COMPILE_ONLY:rmm::rmm>
1093-
PUBLIC raft::raft
1087+
PUBLIC rmm::rmm
1088+
raft::raft
10941089
cuvs::cuvs_cpp_headers
10951090
${CUVS_CTK_MATH_DEPENDENCIES}
10961091
$<TARGET_NAME_IF_EXISTS:NCCL::NCCL> # needs to be public for DT_NEEDED
10971092
$<BUILD_LOCAL_INTERFACE:$<TARGET_NAME_IF_EXISTS:hnswlib::hnswlib>> # header only
1098-
PRIVATE rmm::rmm
1099-
$<TARGET_NAME_IF_EXISTS:OpenMP::OpenMP_CXX>
1093+
PRIVATE $<TARGET_NAME_IF_EXISTS:OpenMP::OpenMP_CXX>
11001094
CUDA::nvJitLink
11011095
CUDA::nvrtc
11021096
$<$<BOOL:${CUVS_NVTX}>:CUDA::nvtx3>
11031097
$<COMPILE_ONLY:nvidia::cutlass::cutlass>
11041098
$<COMPILE_ONLY:cuco::cuco>
11051099
)
1106-
set_property(TARGET cuvs_static PROPERTY NO_CUDART_DEP ON)
11071100
endif()
11081101

11091102
# ################################################################################################

java/cuvs-java/src/main/java22/com/nvidia/cuvs/internal/common/Util.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION.
2+
* SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55
package com.nvidia.cuvs.internal.common;
@@ -39,6 +39,7 @@ private Util() {}
3939

4040
static final SymbolLookup SYMBOL_LOOKUP =
4141
SymbolLookup.libraryLookup(System.mapLibraryName("cuvs_c"), Arena.ofAuto())
42+
.or(SymbolLookup.libraryLookup(System.mapLibraryName("cudart"), Arena.ofAuto()))
4243
.or(SymbolLookup.loaderLookup())
4344
.or(Linker.nativeLinker().defaultLookup());
4445

java/panama-bindings/generate-bindings.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION.
3+
# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION.
44
# SPDX-License-Identifier: Apache-2.0
55

66
set -e -u -o pipefail
@@ -40,6 +40,7 @@ jextract \
4040
--output "${REPODIR}/java/cuvs-java/src/main/java22/" \
4141
--target-package ${TARGET_PACKAGE} \
4242
--library cuvs_c \
43+
--library cudart \
4344
"${CURDIR}"/headers.h
4445

4546
echo "Panama FFM API bindings generation done"

0 commit comments

Comments
 (0)