Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

raft: Build CUDA 12 packages #1388

Merged
merged 76 commits into from
Jul 5, 2023
Merged
Show file tree
Hide file tree
Changes from 68 commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
dd487ef
Switch to using cuda 12 workflows
vyasr Mar 30, 2023
50d1576
Add nvcc flags needed to work with broken nvidia packages
vyasr Mar 30, 2023
5502f75
Add a cuda11 compiler version and branch out the recipes
vyasr Mar 30, 2023
d88346e
Force build and test scripts to install rmm from the PR.
vyasr Mar 30, 2023
6abba37
Fix dask branch
vyasr Mar 30, 2023
6005851
Put back build deleted lines to see if it fixes CI
vyasr Mar 30, 2023
925dac1
Add missing quotes
vyasr Mar 30, 2023
823868c
Temporarily comment out all unnecessary builds
vyasr Mar 31, 2023
b88b5d0
Bifurcate all cuda deps by CUDA version
vyasr Mar 31, 2023
bc0bd39
Add cudart
vyasr Mar 31, 2023
a0ef11a
Make sure to hard pin the cuda versions during build
vyasr Mar 31, 2023
60968ff
Update versions for 12.0.1 patch release of CUDA 12
vyasr Mar 31, 2023
f32bf15
Pin librmm
vyasr Mar 31, 2023
e7d204f
Fix libcusolver version
vyasr Mar 31, 2023
6e5e321
Revert to 12.0.0 versions
vyasr Mar 31, 2023
221b877
Add cuda runtime to build env for nvcc to see
vyasr Mar 31, 2023
593619e
Add missing deps
vyasr Mar 31, 2023
ac329ff
Force using nvidia cublas
vyasr Apr 3, 2023
9185552
Revert "Force using nvidia cublas"
vyasr Apr 3, 2023
6952fc9
Try pinning cuda-version
vyasr Apr 3, 2023
303f3dc
Fix spec
vyasr Apr 3, 2023
3c7fa81
Revert "Fix spec"
vyasr Apr 4, 2023
bebd60c
Revert "Try pinning cuda-version"
vyasr Apr 4, 2023
f3761b8
Try reordering channels
vyasr Apr 4, 2023
85d45fd
Fix indent
vyasr Apr 4, 2023
0b26f47
Remove any hidden characters
vyasr Apr 4, 2023
830fe9e
Use the correct root dir
vyasr Apr 4, 2023
a66d561
Remove faiss dependence
vyasr Apr 6, 2023
1f7a69e
Remove faiss from bmarks
vyasr Apr 6, 2023
f1f61a8
Fix patched condarc
vyasr Apr 6, 2023
5e00003
Disable faiss in a more elegant manner that still runs the tests on C…
vyasr Apr 6, 2023
6445d04
Add CUDA 12 to dependencies.yaml for testing
vyasr Apr 6, 2023
7bddaee
Add nvjitlink to run requirements for CUDA 12
vyasr Apr 6, 2023
4031a66
Remove changes to pr.yaml
vyasr Jun 13, 2023
349587f
Merge remote-tracking branch 'origin/branch-23.08' into feat/cuda12_n…
vyasr Jun 13, 2023
d391cd3
Merge branch 'branch-23.08' into feat/cuda12_nvidia_build
cjnolet Jun 26, 2023
cf1a793
ENH Remove NVCC temp flags and librmm CI channel
dantegd Jun 26, 2023
34dbf37
ENH Update recipes meta
dantegd Jun 27, 2023
c15458a
FIX forgot to commit libraft meta changes
dantegd Jun 27, 2023
9db2c1e
FIX Missing librmm line in libraft-headers meta section
dantegd Jun 27, 2023
256d2c8
FIX Small fixes in libraft-headers section
dantegd Jun 27, 2023
7a277ac
FIX Mode small fixes in libraft-headers section
dantegd Jun 27, 2023
3377f1a
Fix maybe-uninitialized warning
tfeher Jun 27, 2023
2b4f316
FIX remove not used variables
dantegd Jun 27, 2023
aec019c
FIX missing cuda-version specs in libraft recipe
dantegd Jun 27, 2023
f8db36b
Merge branch 'branch-23.08' into feat/cuda12_nvidia_build
dantegd Jun 27, 2023
8a8b4ad
FIX remove unnecessary CUDA 12 library versions
dantegd Jun 27, 2023
652f88e
FIX cudatoolkit specification fixes
dantegd Jun 27, 2023
3790ecb
Apply suggestions from code review
dantegd Jun 27, 2023
9dea87d
FIX thrust call
dantegd Jun 27, 2023
cd38bb2
FIX More review comments applied
dantegd Jun 27, 2023
f4f5a00
FIX rdg precommit
dantegd Jun 27, 2023
6452dfb
FIX thrust call further fix
dantegd Jun 27, 2023
4f27238
DBG Undo thrust changes to get a clean log
dantegd Jun 28, 2023
446cb98
FIX remove cudart-static from dependencies of libraft-tests
dantegd Jun 28, 2023
c991324
DBG cudart dependency debugging
dantegd Jun 28, 2023
4498951
DBG Fix faiss version to pull rapidsai channel package
dantegd Jun 28, 2023
b9913a4
FIX small cleanup
dantegd Jun 28, 2023
821076d
FIX blank space in recipe
dantegd Jun 28, 2023
127710f
FIX missing bracket
dantegd Jun 29, 2023
f6aa073
DBG sepcify cuda-version in run reqs of libraft artifact
dantegd Jun 29, 2023
ac5414d
DBG sepcify cuda-version in run reqs of ann bench artifact
dantegd Jun 29, 2023
a2d84d1
Apply suggestions from code review
dantegd Jun 29, 2023
9ea3a4f
FIX More review comments applied
dantegd Jun 29, 2023
b3a4de8
FIX cuda compiler in conda_build_config
dantegd Jun 29, 2023
47cb0fb
FIX typo in dependencies
dantegd Jun 29, 2023
51255e8
Apply suggestions from code review
bdice Jun 29, 2023
0f2549a
Apply suggestions from code review
dantegd Jun 29, 2023
4dfaee3
Apply suggestions from code review
dantegd Jun 30, 2023
f3c482a
FIX More review comments applied
dantegd Jun 30, 2023
a3ba165
Update conda/recipes/raft-dask/meta.yaml
dantegd Jun 30, 2023
f15d380
FIX add ctk back to host of pylibraft and raft-dask
dantegd Jun 30, 2023
fa1d5b4
FIX changes from https://github.com/vyasr/raft/pull/1
dantegd Jun 30, 2023
fa45ec3
FIX remove unnecessary cuda libraries for libraft-tests and libraft-a…
dantegd Jun 30, 2023
f264b9b
Update conda/recipes/raft-dask/meta.yaml
dantegd Jul 2, 2023
40417d9
Merge branch 'branch-23.08' into feat/cuda12_nvidia_build
cjnolet Jul 5, 2023
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
27 changes: 13 additions & 14 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ concurrency:
jobs:
cpp-build:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -37,7 +37,7 @@ jobs:
python-build:
needs: [cpp-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -46,30 +46,27 @@ jobs:
upload-conda:
needs: [cpp-build, python-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
skip_upload_pkgs: libraft-template
docs-build:
if: github.ref_type == 'branch'
if: github.ref_type == 'branch' && github.event_name == 'push'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did this change?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that change was before I started working on the PR, I wonder if @ajschmidt8 might be able to help us here

needs: python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120
with:
build_type: branch
node_type: "gpu-latest-1"
arch: "amd64"
branch: ${{ inputs.branch }}
build_type: ${{ inputs.build_type || 'branch' }}
container_image: "rapidsai/ci:latest"
date: ${{ inputs.date }}
node_type: "gpu-v100-latest-1"
run_script: "ci/build_docs.sh"
sha: ${{ inputs.sha }}
wheel-build-pylibraft:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -78,10 +75,11 @@ jobs:
package-name: pylibraft
package-dir: python/pylibraft
skbuild-configure-options: "-DRAFT_BUILD_WHEELS=ON -DDETECT_CONDA_ENV=OFF -DFIND_RAFT_CPP=OFF"
uses-setup-env-vars: false
wheel-publish-pylibraft:
needs: wheel-build-pylibraft
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -91,7 +89,7 @@ jobs:
wheel-build-raft-dask:
needs: wheel-publish-pylibraft
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -100,10 +98,11 @@ jobs:
package-name: raft_dask
package-dir: python/raft-dask
skbuild-configure-options: "-DRAFT_BUILD_WHEELS=ON -DDETECT_CONDA_ENV=OFF -DFIND_RAFT_CPP=OFF"
uses-setup-env-vars: false
wheel-publish-raft-dask:
needs: wheel-build-raft-dask
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,41 +23,41 @@ jobs:
- wheel-build-raft-dask
- wheel-tests-raft-dask
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@cuda-120
checks:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@cuda-120
with:
enable_check_generated_files: false
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120
with:
build_type: pull-request
node_type: cpu16
conda-cpp-tests:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120
with:
build_type: pull-request
conda-python-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120
with:
build_type: pull-request
conda-python-tests:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120
with:
build_type: pull-request
docs-build:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120
with:
build_type: pull-request
node_type: "gpu-v100-latest-1"
Expand All @@ -67,7 +67,7 @@ jobs:
wheel-build-pylibraft:
needs: checks
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120
with:
build_type: pull-request
package-name: pylibraft
Expand All @@ -76,7 +76,7 @@ jobs:
wheel-tests-pylibraft:
needs: wheel-build-pylibraft
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120
with:
build_type: pull-request
package-name: pylibraft
Expand All @@ -85,7 +85,7 @@ jobs:
wheel-build-raft-dask:
needs: wheel-tests-pylibraft
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120
with:
build_type: pull-request
package-name: raft_dask
Expand All @@ -95,7 +95,7 @@ jobs:
wheel-tests-raft-dask:
needs: wheel-build-raft-dask
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120
with:
build_type: pull-request
package-name: raft_dask
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,33 +16,33 @@ on:
jobs:
conda-cpp-tests:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
conda-python-tests:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
wheel-tests-pylibraft:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
package-name: pylibraft
test-unittest: "python -m pytest ./python/pylibraft/pylibraft/test"
test-unittest: "python -m pytest -v ./python/pylibraft/pylibraft/test"
wheel-tests-raft-dask:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120
with:
build_type: nightly
branch: ${{ inputs.branch }}
Expand All @@ -51,4 +51,4 @@ jobs:
package-name: raft_dask
test-before-amd64: "pip install git+https://github.com/dask/dask.git@main git+https://github.com/dask/distributed.git@main git+https://github.com/rapidsai/dask-cuda.git@branch-23.08"
test-before-arm64: "pip install git+https://github.com/dask/dask.git@main git+https://github.com/dask/distributed.git@main git+https://github.com/rapidsai/dask-cuda.git@branch-23.08"
test-unittest: "python -m pytest ./python/raft-dask/raft_dask/test"
test-unittest: "python -m pytest -v ./python/raft-dask/raft_dask/test"
5 changes: 3 additions & 2 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ dependencies:
- clang=16.0.1
- cmake>=3.23.1,!=3.25.0
- cuda-profiler-api=11.8.86
- cuda-python>=11.7.1,<12.0
- cudatoolkit=11.8
- cuda-python>=11.7.1,<12.0a0
- cuda-version=11.8
- cudatoolkit
- cupy>=12.0.0
- cxx-compiler
- cython>=0.29,<0.30
Expand Down
56 changes: 56 additions & 0 deletions conda/environments/all_cuda-120_arch-x86_64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# This file is generated by `rapids-dependency-file-generator`.
# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
channels:
- rapidsai
- rapidsai-nightly
- dask/label/dev
- conda-forge
- nvidia
dependencies:
- breathe
- c-compiler
- clang-tools=16.0.1
- clang=16.0.1
- cmake>=3.23.1,!=3.25.0
- cuda-cudart-dev
- cuda-profiler-api
- cuda-python>=12.0,<13.0a0
- cuda-version=12.0
- cupy>=12.0.0
- cxx-compiler
- cython>=0.29,<0.30
- dask-core>=2023.5.1
- dask-cuda==23.8.*
- dask>=2023.5.1
- distributed>=2023.5.1
- doxygen>=1.8.20
- gcc_linux-64=11.*
- gmock>=1.13.0
- graphviz
- gtest>=1.13.0
- ipython
- joblib>=0.11
- libcublas-dev
- libcurand-dev
- libcusolver-dev
- libcusparse-dev
- nccl>=2.9.9
- ninja
- numba>=0.57
- numpy>=1.21
- numpydoc
- pydata-sphinx-theme
- pytest
- pytest-cov
- recommonmark
- rmm==23.8.*
- scikit-build>=0.13.1
- scikit-learn
- scipy
- sphinx-copybutton
- sphinx-markdown-tables
- sysroot_linux-64==2.17
- ucx-proc=*=gpu
- ucx-py==0.33.*
- ucx>=1.13.0
name: all_cuda-120_arch-x86_64
3 changes: 2 additions & 1 deletion conda/environments/bench_ann_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ dependencies:
- clang=16.0.1
- cmake>=3.23.1,!=3.25.0
- cuda-profiler-api=11.8.86
- cudatoolkit=11.8
- cuda-version=11.8
- cudatoolkit
- cxx-compiler
- cython>=0.29,<0.30
- faiss-proc=*=cuda
Expand Down
2 changes: 1 addition & 1 deletion conda/recipes/libraft/build_libraft_template.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# Copyright (c) 2022-2023, NVIDIA CORPORATION.

# Just building template so we verify it uses libraft.so and fail if it doesn't build
./build.sh template
./build.sh template
29 changes: 16 additions & 13 deletions conda/recipes/libraft/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ cxx_compiler_version:
- 11

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

sysroot_version:
Expand All @@ -31,40 +34,40 @@ h5py_version:
nlohmann_json_version:
- ">=3.11.2"

# The CTK libraries below are missing from the conda-forge::cudatoolkit
# package. The "*_host_*" version specifiers correspond to `11.8` packages and the
# "*_run_*" version specifiers correspond to `11.x` packages.
# The CTK libraries below are missing from the conda-forge::cudatoolkit package
# for CUDA 11. The "*_host_*" version specifiers correspond to `11.8` packages
# and the "*_run_*" version specifiers correspond to `11.x` packages.

libcublas_host_version:
cuda11_libcublas_host_version:
- "=11.11.3.6"

libcublas_run_version:
cuda11_libcublas_run_version:
- ">=11.5.2.43,<12.0.0"

libcurand_host_version:
cuda11_libcurand_host_version:
- "=10.3.0.86"

libcurand_run_version:
cuda11_libcurand_run_version:
- ">=10.2.5.43,<10.3.1"

libcusolver_host_version:
cuda11_libcusolver_host_version:
- "=11.4.1.48"

libcusolver_run_version:
cuda11_libcusolver_run_version:
- ">=11.2.0.43,<11.4.2"

libcusparse_host_version:
cuda11_libcusparse_host_version:
- "=11.7.5.86"

libcusparse_run_version:
cuda11_libcusparse_run_version:
- ">=11.6.0.43,<12.0.0"

# `cuda-profiler-api` only has `11.8.0` and `12.0.0` packages for all
# architectures. The "*_host_*" version specifiers correspond to `11.8` packages and the
# "*_run_*" version specifiers correspond to `11.x` packages.

cuda_profiler_api_host_version:
cuda11_cuda_profiler_api_host_version:
- "=11.8.86"

cuda_profiler_api_run_version:
cuda11_cuda_profiler_api_run_version:
- ">=11.4.240,<12"
Loading