diff --git a/ci/build_python.sh b/ci/build_python.sh index dd259bdad..c50a413c6 100755 --- a/ci/build_python.sh +++ b/ci/build_python.sh @@ -33,3 +33,5 @@ rapids-conda-retry mambabuild \ --no-test \ --channel "${CPP_CHANNEL}" \ conda/recipes/cuvs + +rapids-upload-conda-to-s3 python diff --git a/ci/build_wheel.sh b/ci/build_wheel.sh index 713d3ff33..8632d8bc3 100755 --- a/ci/build_wheel.sh +++ b/ci/build_wheel.sh @@ -47,8 +47,7 @@ fi cd "${package_dir}" # Hardcode the output dir -SKBUILD_CMAKE_ARGS="-DDETECT_CONDA_ENV=OFF;-DDISABLE_DEPRECATION_WARNINGS=ON" \ - python -m pip wheel . -w dist -vvv --no-deps --disable-pip-version-check +python -m pip wheel . -w dist -vvv --no-deps --disable-pip-version-check mkdir -p final_dist python -m auditwheel repair -w final_dist dist/* diff --git a/ci/build_wheel_cuvs.sh b/ci/build_wheel_cuvs.sh index d209f93c0..238483b6e 100755 --- a/ci/build_wheel_cuvs.sh +++ b/ci/build_wheel_cuvs.sh @@ -4,6 +4,6 @@ set -euo pipefail # Set up skbuild options. Enable sccache in skbuild config options -export SKBUILD_CONFIGURE_OPTIONS="-DCUVS_BUILD_WHEELS=ON -DDETECT_CONDA_ENV=OFF -DFIND_CUVS_CPP=OFF" +export SKBUILD_CONFIGURE_OPTIONS="-DDETECT_CONDA_ENV=OFF -DFIND_CUVS_CPP=OFF" ci/build_wheel.sh cuvs python/cuvs diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index c076472c1..ceab53fb3 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -69,12 +69,6 @@ option(DISABLE_DEPRECATION_WARNINGS "Disable deprecaction warnings " ON) option(DISABLE_OPENMP "Disable OpenMP" OFF) option(CUVS_NVTX "Enable nvtx markers" OFF) -# The options below allow incorporating libcuvs into another build process -# without installing all its components. This is useful if total file size is -# at a premium and we do not expect other consumers to use any APIs of the -# dependency except those that are directly linked to by the dependent library. -option(CUVS_EXCLUDE_RAFT_FROM_ALL "Exclude RAFT targets from cuVS's 'all' target" OFF) - if((BUILD_TESTS OR BUILD_C_LIBRARY) AND NOT BUILD_CPU_ONLY) endif() @@ -222,7 +216,16 @@ target_include_directories( if(NOT BUILD_CPU_ONLY) # Keep cuVS as lightweight as possible. Only CUDA libs and rmm should be used in global target. - target_link_libraries(cuvs PUBLIC raft::raft raft::compiled nvidia::cutlass::cutlass) + target_link_libraries(cuvs + PUBLIC + rmm::rmm + $<$>:raft::raft> + $<$>:raft::compiled> + PRIVATE + $<$:raft::raft> + $<$:raft::compiled> + nvidia::cutlass::cutlass + ) endif() # Endian detection diff --git a/cpp/cmake/thirdparty/get_raft.cmake b/cpp/cmake/thirdparty/get_raft.cmake index bc974f6b2..ace0165f7 100644 --- a/cpp/cmake/thirdparty/get_raft.cmake +++ b/cpp/cmake/thirdparty/get_raft.cmake @@ -57,7 +57,6 @@ function(find_and_configure_raft) GIT_REPOSITORY https://github.com/${PKG_FORK}/raft.git GIT_TAG ${PKG_PINNED_TAG} SOURCE_SUBDIR cpp - EXCLUDE_FROM_ALL ${PKG_EXCLUDE_FROM_ALL} OPTIONS "BUILD_TESTS OFF" "BUILD_PRIMS_BENCH OFF" @@ -74,8 +73,6 @@ find_and_configure_raft(VERSION ${RAFT_VERSION}.00 FORK ${RAFT_FORK} PINNED_TAG ${RAFT_PINNED_TAG} COMPILE_LIBRARY ON - USE_RAFT_STATIC ${CUVS_USE_RAFT_STATIC} - EXCLUDE_FROM_ALL ${CUVS_EXCLUDE_RAFT_FROM_ALL} ENABLE_MNMG_DEPENDENCIES OFF ENABLE_NVTX OFF ) diff --git a/python/cuvs/CMakeLists.txt b/python/cuvs/CMakeLists.txt index 1a06c8b5f..29ac255c5 100644 --- a/python/cuvs/CMakeLists.txt +++ b/python/cuvs/CMakeLists.txt @@ -63,9 +63,6 @@ if(NOT cuvs_FOUND) set(CUDA_STATIC_RUNTIME ON) set(CUVS_USE_RAFT_STATIC ON) - # Don't install the static libs into wheels - set(CUVS_EXCLUDE_RAFT_FROM_ALL ON) - add_subdirectory(../../cpp cuvs-cpp EXCLUDE_FROM_ALL) set(cython_lib_dir cuvs_py)