Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
8b96c0c
use librtcx for jit-lto
arhag23 Jul 9, 2026
18b142b
link tests against rtcx
arhag23 Jul 10, 2026
1433624
Add missing rtcx dependencies
arhag23 Jul 11, 2026
1fa0379
Resolve librtcx not properly exporting private static link dependencies
arhag23 Jul 13, 2026
42fd2e9
Fix missing nvrtc/nvjitlink
arhag23 Jul 14, 2026
6e2026d
Fix test now that rtcx throws std:: exceptions
arhag23 Jul 17, 2026
53ee371
Install rtcx to fix python and other builds
arhag23 Jul 17, 2026
cd09d1b
rtcx marks libzstd_static as global target
arhag23 Jul 17, 2026
4cfa810
rtcx is a cuvs-static export only
arhag23 Jul 17, 2026
dc3e0c7
properly handle rtcx libzstd static
arhag23 Jul 17, 2026
e413021
Also link against nvrtc_builtins
arhag23 Jul 20, 2026
7d98976
update actions/checkout to fix zizmor
arhag23 Jul 20, 2026
0bb2fd6
Merge remote-tracking branch 'upstream/main' into use-librtcx
arhag23 Aug 3, 2026
0575566
Test against upstream librtcx
arhag23 Aug 3, 2026
a49fb8c
cleanup comment
arhag23 Aug 5, 2026
5afd5dc
Merge remote-tracking branch 'upstream/main' into use-librtcx
arhag23 Aug 5, 2026
4e307af
Merge remote-tracking branch 'upstream/main' into use-librtcx
arhag23 Aug 11, 2026
f379229
Test rtcx refactoring
arhag23 Aug 11, 2026
52f574a
Update documentation with new namespace/style chagnes
arhag23 Aug 11, 2026
97bd0ba
Use rapidsai/librtcx now that style changes are merged
arhag23 Aug 13, 2026
5af2eba
Merge remote-tracking branch 'upstream/main' into use-librtcx
arhag23 Aug 13, 2026
9d98b5a
test dropping nvrtc-builtins from shared target_link_libraries
arhag23 Aug 14, 2026
6760d89
Merge branch 'main' into use-librtcx
arhag23 Aug 14, 2026
2238e6f
back to rapidsai/librtcx
arhag23 Aug 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions conda/recipes/libcuvs/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@ outputs:
content: |
cmake --install cpp/build --component cuvs_static
cmake --install cpp/build --component hnswlib
cmake --install cpp/build --component rtcx
requirements:
build:
- cmake ${{ cmake_version }}
Expand Down Expand Up @@ -256,6 +257,7 @@ outputs:
- libcurand
- libcusolver
- libcusparse
- zstd-static =1.5.7
Comment thread
divyegala marked this conversation as resolved.
ignore_run_exports:
by_name:
- cuda-cudart
Expand Down
11 changes: 4 additions & 7 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ if(NOT BUILD_CPU_ONLY)
include(cmake/thirdparty/get_cutlass.cmake)
include(${rapids-cmake-dir}/cpm/cuco.cmake)
rapids_cpm_cuco()
include(cmake/thirdparty/get_rtcx.cmake)
endif()

if(BUILD_TESTS OR BUILD_C_TESTS)
Expand Down Expand Up @@ -352,7 +353,6 @@ if(NOT BUILD_CPU_ONLY)
endif()

# Generate interleaved scan kernel files at build time
include(cmake/modules/generate_jit_lto_kernels.cmake)

add_library(jit_lto_kernel_usage_requirements INTERFACE)
target_include_directories(
Expand Down Expand Up @@ -1363,11 +1363,6 @@ if(NOT BUILD_CPU_ONLY)
src/core/omp_wrapper.cpp
src/util/file_io.cpp
src/util/host_memory.cpp
src/detail/jit_lto/AlgorithmLauncher.cpp
src/detail/jit_lto/AlgorithmPlanner.cpp
src/detail/jit_lto/FragmentEntry.cpp
src/detail/jit_lto/nvjitlink_checker.cpp
src/detail/jit_lto/NVRTCLTOFragmentCompiler.cpp
src/distance/detail/kernels/gram_matrix.cu
src/distance/detail/kernels/kernel_factory.cu
src/distance/detail/kernels/kernel_matrices.cu
Expand Down Expand Up @@ -1494,6 +1489,7 @@ if(NOT BUILD_CPU_ONLY)
PRIVATE cuvs::cuvs_cpp_headers
cuco::cuco
nvidia::cutlass::cutlass
rtcx::rtcx
${CUVS_CTK_MATH_DEPENDENCIES}
$<TARGET_NAME_IF_EXISTS:OpenMP::OpenMP_CXX>
$<TARGET_NAME_IF_EXISTS:hnswlib::hnswlib>
Expand Down Expand Up @@ -1573,7 +1569,7 @@ if(NOT BUILD_CPU_ONLY)
$<BUILD_LOCAL_INTERFACE:$<TARGET_NAME_IF_EXISTS:hnswlib::hnswlib>>
$<$<BOOL:${CUVS_NVTX}>:CUDA::nvtx3>
PRIVATE $<TARGET_NAME_IF_EXISTS:OpenMP::OpenMP_CXX> $<COMPILE_ONLY:nvidia::cutlass::cutlass>
$<COMPILE_ONLY:cuco::cuco> CUDA::nvJitLink CUDA::nvrtc
$<COMPILE_ONLY:cuco::cuco> CUDA::nvJitLink CUDA::nvrtc rtcx::rtcx
)

# ensure CUDA symbols aren't relocated to the middle of the debug build binaries
Expand Down Expand Up @@ -1631,6 +1627,7 @@ SECTIONS
PRIVATE $<TARGET_NAME_IF_EXISTS:OpenMP::OpenMP_CXX>
CUDA::nvJitLink
CUDA::nvrtc
rtcx::rtcx
$<$<BOOL:${CUVS_NVTX}>:CUDA::nvtx3>
$<COMPILE_ONLY:nvidia::cutlass::cutlass>
$<COMPILE_ONLY:cuco::cuco>
Expand Down
136 changes: 0 additions & 136 deletions cpp/cmake/modules/generate_jit_lto_kernels.cmake

This file was deleted.

22 changes: 0 additions & 22 deletions cpp/cmake/modules/register_fatbin.cpp.in

This file was deleted.

38 changes: 38 additions & 0 deletions cpp/cmake/thirdparty/get_rtcx.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#==============================================================================
# cmake-format: off
# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# cmake-format: on
#=============================================================================-

# This function finds rtcx
function(find_and_configure_rtcx VERSION)

# Ensure rtcx installs its targets unconditionally. In shared builds the static library is
# absorbed into libcuvs.so, but CMake still requires the target to be in an export set for
# install(EXPORT) validation. In static builds consumers need to link librtcx.a directly.
set(RTCX_INSTALL ON)

include("${rapids-cmake-dir}/cmake/default_install_component.cmake")
rapids_cmake_default_install_component(DEFAULT_USE_PROJECT_NAME)

rapids_cpm_find(
rtcx ${VERSION}
GLOBAL_TARGETS rtcx::rtcx
BUILD_EXPORT_SET cuvs-static-exports
INSTALL_EXPORT_SET cuvs-static-exports
CPM_ARGS
GIT_REPOSITORY https://github.com/rapidsai/librtcx
GIT_TAG a9f63f8cdd4b0b41a2d88a9f705576a61b4222ec
GIT_SHALLOW FALSE
)

# When CPM fetches from source (add_subdirectory), generate_jit_lto_kernels.cmake is not
# auto-included. Include it explicitly so necessary functions are available.
if(rtcx_ADDED OR DEFINED CPM_rtcx_SOURCE)
include("${rtcx_SOURCE_DIR}/cmake/modules/generate_jit_lto_kernels.cmake")
endif()
endfunction()

set(RTCX_MIN_VERSION_cuvs "0.1")
find_and_configure_rtcx(${RTCX_MIN_VERSION_cuvs})
60 changes: 0 additions & 60 deletions cpp/include/cuvs/detail/jit_lto/AlgorithmLauncher.hpp

This file was deleted.

60 changes: 0 additions & 60 deletions cpp/include/cuvs/detail/jit_lto/AlgorithmPlanner.hpp

This file was deleted.

Loading
Loading