Skip to content

Commit 8ba5eed

Browse files
authored
Merge branch 'main' into 26.02-cagra-extend
2 parents d2e7798 + 4fbcc7f commit 8ba5eed

43 files changed

Lines changed: 2086 additions & 195 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/publish-rust.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
conda activate rust
4545
set -eu
4646
47-
LIBCLANG_PATH=$(dirname "$(find /opt/conda -name libclang.so | head -n 1)")
47+
LIBCLANG_PATH=$(dirname "$(find "$CONDA_PREFIX" -name libclang.so | head -n 1)")
4848
export LIBCLANG_PATH
4949
echo "LIBCLANG_PATH=$LIBCLANG_PATH"
5050

c/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ project(
1919
)
2020
set(CMAKE_INSTALL_MESSAGE LAZY)
2121

22+
# Disable C++20 module scanning (not using modules, just C++20 features)
23+
set(CMAKE_CXX_SCAN_FOR_MODULES OFF)
24+
2225
# ##################################################################################################
2326
# * User Options ------------------------------------------------------------
2427

@@ -105,7 +108,7 @@ set_target_properties(
105108
cuvs_c
106109
PROPERTIES BUILD_RPATH "\$ORIGIN"
107110
INSTALL_RPATH "\$ORIGIN"
108-
CXX_STANDARD 17
111+
CXX_STANDARD 20
109112
CXX_STANDARD_REQUIRED ON
110113
POSITION_INDEPENDENT_CODE ON
111114
INTERFACE_POSITION_INDEPENDENT_CODE ON
@@ -201,6 +204,8 @@ endif()
201204
# ##################################################################################################
202205
# * build tests ----------------------------------------------------
203206
if(BUILD_TESTS)
207+
include(rapids-cuda)
208+
rapids_cuda_init_architectures(CUVS_C)
204209
enable_language(CUDA)
205210
find_package(CUDAToolkit REQUIRED)
206211

ci/build_docs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ popd
4545

4646
rapids-logger "Build Rust docs"
4747
pushd rust
48-
LIBCLANG_PATH=$(dirname "$(find /opt/conda -name libclang.so | head -n 1)")
48+
LIBCLANG_PATH=$(dirname "$(find "$CONDA_PREFIX" -name libclang.so | head -n 1)")
4949
export LIBCLANG_PATH
5050
cargo doc -p cuvs --no-deps
5151
popd

ci/build_rust.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ sccache --stop-server 2>/dev/null || true
4444

4545
# we need to set up LIBCLANG_PATH to allow rust bindgen to work,
4646
# grab it from the conda env
47-
LIBCLANG_PATH=$(dirname "$(find /opt/conda -name libclang.so | head -n 1)")
47+
LIBCLANG_PATH=$(dirname "$(find "$CONDA_PREFIX" -name libclang.so | head -n 1)")
4848
export LIBCLANG_PATH
4949
echo "LIBCLANG_PATH=$LIBCLANG_PATH"
5050

cpp/.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ SpacesInContainerLiterals: true
146146
SpacesInCStyleCastParentheses: false
147147
SpacesInParentheses: false
148148
SpacesInSquareBrackets: false
149-
Standard: c++17
149+
Standard: c++20
150150
StatementMacros:
151151
- Q_UNUSED
152152
- QT_REQUIRE_VERSION

cpp/CMakeLists.txt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ project(
2929
)
3030
set(CMAKE_INSTALL_MESSAGE LAZY)
3131

32+
# Disable C++20 module scanning (not using modules, just C++20 features)
33+
set(CMAKE_CXX_SCAN_FOR_MODULES OFF)
34+
3235
# Write the version header
3336
rapids_cmake_write_version_file(include/cuvs/version_config.h)
3437

@@ -305,9 +308,9 @@ if(NOT BUILD_CPU_ONLY)
305308
set_target_properties(
306309
cuvs-cagra-search
307310
PROPERTIES BUILD_RPATH "\$ORIGIN"
308-
CXX_STANDARD 17
311+
CXX_STANDARD 20
309312
CXX_STANDARD_REQUIRED ON
310-
CUDA_STANDARD 17
313+
CUDA_STANDARD 20
311314
CUDA_STANDARD_REQUIRED ON
312315
CUDA_SEPARABLE_COMPILATION ON
313316
POSITION_INDEPENDENT_CODE ON
@@ -545,9 +548,9 @@ if(NOT BUILD_CPU_ONLY)
545548

546549
set_target_properties(
547550
cuvs_objs
548-
PROPERTIES CXX_STANDARD 17
551+
PROPERTIES CXX_STANDARD 20
549552
CXX_STANDARD_REQUIRED ON
550-
CUDA_STANDARD 17
553+
CUDA_STANDARD 20
551554
CUDA_STANDARD_REQUIRED ON
552555
POSITION_INDEPENDENT_CODE ON
553556
)
@@ -605,9 +608,9 @@ if(NOT BUILD_CPU_ONLY)
605608
cuvs
606609
PROPERTIES BUILD_RPATH "\$ORIGIN"
607610
INSTALL_RPATH "\$ORIGIN"
608-
CXX_STANDARD 17
611+
CXX_STANDARD 20
609612
CXX_STANDARD_REQUIRED ON
610-
CUDA_STANDARD 17
613+
CUDA_STANDARD 20
611614
CUDA_STANDARD_REQUIRED ON
612615
CUDA_RESOLVE_DEVICE_SYMBOLS ON
613616
INTERFACE_POSITION_INDEPENDENT_CODE ON
@@ -660,9 +663,9 @@ SECTIONS
660663
cuvs_static
661664
PROPERTIES BUILD_RPATH "\$ORIGIN"
662665
INSTALL_RPATH "\$ORIGIN"
663-
CXX_STANDARD 17
666+
CXX_STANDARD 20
664667
CXX_STANDARD_REQUIRED ON
665-
CUDA_STANDARD 17
668+
CUDA_STANDARD 20
666669
CUDA_STANDARD_REQUIRED ON
667670
CUDA_RESOLVE_DEVICE_SYMBOLS ON
668671
POSITION_INDEPENDENT_CODE ON

cpp/bench/ann/src/cuvs/cuvs_cagra_wrapper.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@
2222
#include <raft/core/logger.hpp>
2323
#include <raft/core/operators.hpp>
2424
#include <raft/linalg/unary_op.cuh>
25-
// #include <raft/neighbors/dataset.hpp>
26-
// #include <raft/neighbors/detail/cagra/cagra_build.cuh>
2725
#include <raft/util/cudart_utils.hpp>
2826

2927
#include <rmm/device_uvector.hpp>

cpp/cmake/modules/ConfigureCUDA.cmake

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@ if(CMAKE_COMPILER_IS_GNUCXX)
3333
endif()
3434
endif()
3535

36-
# Allow invalid CUDA kernels in the short term
37-
if(CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 12.8.0)
38-
list(APPEND CUVS_CUDA_FLAGS -static-global-template-stub=false)
39-
endif()
40-
4136
if(CUDA_LOG_COMPILE_TIME)
4237
list(APPEND CUVS_CUDA_FLAGS "--time=nvcc_compile_log.csv")
4338
endif()
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
diff --git a/faiss/gpu/GpuDistance.cu b/faiss/gpu/GpuDistance.cu
2+
index c82c73e7d..65ed8a1d4 100644
3+
--- a/faiss/gpu/GpuDistance.cu
4+
+++ b/faiss/gpu/GpuDistance.cu
5+
@@ -43,7 +43,6 @@
6+
#include <raft/core/operators.hpp>
7+
#include <raft/core/temporary_device_buffer.hpp>
8+
#include <raft/linalg/unary_op.cuh>
9+
-#include <raft/neighbors/brute_force.cuh>
10+
#endif
11+
12+
namespace faiss {
13+
diff --git a/faiss/gpu/impl/CuvsFlatIndex.cu b/faiss/gpu/impl/CuvsFlatIndex.cu
14+
index 15cf427cf..efc66ea94 100644
15+
--- a/faiss/gpu/impl/CuvsFlatIndex.cu
16+
+++ b/faiss/gpu/impl/CuvsFlatIndex.cu
17+
@@ -31,7 +31,6 @@
18+
#include <cuvs/neighbors/brute_force.hpp>
19+
#include <raft/core/device_mdspan.hpp>
20+
#include <raft/core/logger.hpp>
21+
-#include <raft/distance/distance_types.hpp>
22+
#include <raft/linalg/unary_op.cuh>
23+
24+
namespace faiss {

cpp/cmake/patches/faiss_override.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99
"file" : "${current_json_dir}/faiss-1.13-cuvs-25.12.diff",
1010
"issue" : "Multiple fixes for cuVS and RMM compatibility",
1111
"fixed_in" : ""
12+
},
13+
{
14+
"file" : "${current_json_dir}/faiss-1.13-cuvs-26.02.diff",
15+
"issue" : "Multiple fixes for RAFT compatibility",
16+
"fixed_in" : ""
1217
}
1318
]
1419
}

0 commit comments

Comments
 (0)