From b20cc08f5da8dfb64074195b7c9503d2817da86c Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 31 Mar 2023 14:10:08 -0700 Subject: [PATCH 01/40] Switch to using CUDA 12 workflows --- .github/workflows/build.yaml | 12 ++++++------ .github/workflows/pr.yaml | 22 +++++++++++----------- .github/workflows/test.yaml | 8 ++++---- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 67ef86cf7a..7cd460bcd5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -38,7 +38,7 @@ jobs: if: github.ref_type == 'branch' && github.event_name == 'push' needs: [python-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 with: build_type: branch node_type: "gpu-latest-1" @@ -48,7 +48,7 @@ jobs: python-build: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -57,7 +57,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@cuda-120 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -65,7 +65,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build-cuml: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -86,7 +86,7 @@ jobs: wheel-publish-cuml: needs: wheel-build-cuml secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-publish.yml@cuda-120 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index c51109d379..9f9590893a 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -23,48 +23,48 @@ jobs: - wheel-build-cuml - wheel-tests-cuml secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.06 + 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.06 + 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.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120 with: build_type: pull-request conda-cpp-tests: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.06 + 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.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120 with: build_type: pull-request conda-python-tests-singlegpu: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 with: build_type: pull-request test_script: "ci/test_python_singlegpu.sh" conda-python-tests-dask: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 with: build_type: pull-request test_script: "ci/test_python_dask.sh" conda-notebook-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 with: build_type: pull-request node_type: "gpu-latest-1" @@ -74,7 +74,7 @@ jobs: docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 with: build_type: pull-request node_type: "gpu-latest-1" @@ -84,7 +84,7 @@ jobs: wheel-build-cuml: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120 with: build_type: pull-request package-name: cuml @@ -97,7 +97,7 @@ jobs: wheel-tests-cuml: needs: wheel-build-cuml secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120 with: build_type: pull-request package-name: cuml diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2d75698cb8..67307e2e3b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: conda-cpp-tests: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120 with: build_type: nightly branch: ${{ inputs.branch }} @@ -24,7 +24,7 @@ jobs: sha: ${{ inputs.sha }} conda-python-tests-singlegpu: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 with: build_type: nightly branch: ${{ inputs.branch }} @@ -33,7 +33,7 @@ jobs: test_script: "ci/test_python_singlegpu.sh" conda-python-tests-dask: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 with: build_type: nightly branch: ${{ inputs.branch }} @@ -42,7 +42,7 @@ jobs: test_script: "ci/test_python_dask.sh" wheel-tests-cuml: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@branch-23.06 + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120 with: build_type: nightly branch: ${{ inputs.branch }} From 0f9aa619993074c4f4f89b41fb08d796acaee103 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 31 Mar 2023 14:11:44 -0700 Subject: [PATCH 02/40] Add nvcc flags needed to work with broken nvidia packages --- conda/recipes/libcuml/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conda/recipes/libcuml/build.sh b/conda/recipes/libcuml/build.sh index 228f6cefda..cd57f133cc 100644 --- a/conda/recipes/libcuml/build.sh +++ b/conda/recipes/libcuml/build.sh @@ -1,4 +1,5 @@ #!/bin/bash -# Copyright (c) 2018-2022, NVIDIA CORPORATION. +# Copyright (c) 2018-2023, NVIDIA CORPORATION. +export NVCC_PREPEND_FLAGS="${NVCC_PREPEND_FLAGS} -ccbin ${CXX}" # Needed for CUDA 12 nvidia channel compilers ./build.sh -n libcuml prims -v --allgpuarch From b77fd91bd90f977c466e0ecb32d89d25de775f07 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 31 Mar 2023 14:20:26 -0700 Subject: [PATCH 03/40] Add a cuda11 compiler version and branch out the recipes --- conda/recipes/libcuml/conda_build_config.yaml | 3 +++ conda/recipes/libcuml/meta.yaml | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/conda/recipes/libcuml/conda_build_config.yaml b/conda/recipes/libcuml/conda_build_config.yaml index b34819d689..d9aa1c8da5 100644 --- a/conda/recipes/libcuml/conda_build_config.yaml +++ b/conda/recipes/libcuml/conda_build_config.yaml @@ -5,6 +5,9 @@ cxx_compiler_version: - 11 cuda_compiler: + - cuda-nvcc + +cuda11_compiler: - nvcc sysroot_version: diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 57d5984ae3..3ded26f158 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -34,7 +34,14 @@ requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} {{ cuda_version }} + {% else %} - {{ compiler('cuda') }} {{ cuda_version }} + - cuda-cudart {{ cuda_version }} + - cuda-cudart-dev {{ cuda_version }} + - cuda-cudart-static {{ cuda_version }} + {% endif %} - cmake {{ cmake_version }} - ninja - sysroot_{{ target_platform }} {{ sysroot_version }} From a42fb8ed971f2e56e66850e4a236f7a75e236174 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 31 Mar 2023 14:22:04 -0700 Subject: [PATCH 04/40] Force build and test scripts to install rmm from the PR. --- ci/build_cpp.sh | 5 ++++- ci/test_cpp.sh | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index 0feb1bf80b..4a4326c75c 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -7,10 +7,13 @@ source rapids-env-update export CMAKE_GENERATOR=Ninja +RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" +LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) + rapids-print-env rapids-logger "Begin cpp build" -rapids-mamba-retry mambabuild conda/recipes/libcuml +rapids-mamba-retry mambabuild --channel "${LIBRMM_CHANNEL}" conda/recipes/libcuml rapids-upload-conda-to-s3 cpp diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index c90bc590aa..b575dbbfbb 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -18,6 +18,9 @@ set +u conda activate test set -u +RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" +LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) + CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"}/ mkdir -p "${RAPIDS_TESTS_DIR}" @@ -26,6 +29,7 @@ rapids-print-env rapids-mamba-retry install \ --channel "${CPP_CHANNEL}" \ + --channel "${LIBRMM_CHANNEL}" \ libcuml libcuml-tests rapids-logger "Check GPU usage" From 436a1f6662e712307b2f5d7fd00b0a9d4501accf Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 31 Mar 2023 14:22:50 -0700 Subject: [PATCH 05/40] Comment out unnecessary builds --- .github/workflows/pr.yaml | 152 +++++++++++++++++++------------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 9f9590893a..3f11e108ad 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -15,13 +15,13 @@ jobs: - checks - conda-cpp-build - conda-cpp-tests - - conda-python-build - - conda-python-tests-singlegpu - - conda-python-tests-dask - - conda-notebook-tests - - docs-build - - wheel-build-cuml - - wheel-tests-cuml + #- conda-python-build + #- conda-python-tests-singlegpu + #- conda-python-tests-dask + #- conda-notebook-tests + #- docs-build + #- wheel-build-cuml + #- wheel-tests-cuml secrets: inherit uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@cuda-120 checks: @@ -41,72 +41,72 @@ jobs: 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@cuda-120 - with: - build_type: pull-request - conda-python-tests-singlegpu: - needs: conda-python-build - secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 - with: - build_type: pull-request - test_script: "ci/test_python_singlegpu.sh" - conda-python-tests-dask: - needs: conda-python-build - secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 - with: - build_type: pull-request - test_script: "ci/test_python_dask.sh" - conda-notebook-tests: - needs: conda-python-build - secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 - with: - build_type: pull-request - node_type: "gpu-latest-1" - arch: "amd64" - container_image: "rapidsai/ci:latest" - run_script: "ci/test_notebooks.sh" - docs-build: - needs: conda-python-build - secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 - with: - build_type: pull-request - node_type: "gpu-latest-1" - arch: "amd64" - container_image: "rapidsai/ci:latest" - run_script: "ci/build_docs.sh" - wheel-build-cuml: - needs: checks - secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120 - with: - build_type: pull-request - package-name: cuml - package-dir: python - extra-repo: rapidsai/cumlprims_mg - extra-repo-sha: branch-23.02 - extra-repo-deploy-key: CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY - skbuild-configure-options: "-DCUML_BUILD_WHEELS=ON -DDETECT_CONDA_ENV=OFF -DDISABLE_DEPRECATION_WARNINGS=ON -DCPM_cumlprims_mg_SOURCE=/project/cumlprims_mg/" - uses-setup-env-vars: false - wheel-tests-cuml: - needs: wheel-build-cuml - secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120 - with: - build_type: pull-request - package-name: cuml - # Always want to test against latest dask/distributed. - test-before-amd64: "pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06" - # On arm also need to install cupy from the specific webpage and CMake - # because treelite needs to be compiled (no wheels available for arm). - test-before-arm64: "pip install 'cupy-cuda11x<12.0.0' -f https://pip.cupy.dev/aarch64 && pip install cmake && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06" - # skipped test context: https://github.com/rapidsai/cuml/issues/5025 - # parallelization is based on current test memory usage - test-unittest: "pytest -v ./python/cuml/tests -k 'not test_silhouette_score_batched and not test_sparse_pca_inputs' -n 8 --ignore=python/cuml/tests/dask && pytest -v ./python/cuml/tests -k 'test_sparse_pca_inputs' && pytest -v ./python/cuml/tests/dask" - test-smoketest: "python ci/wheel_smoke_test_cuml.py" + #conda-python-build: + # needs: conda-cpp-build + # secrets: inherit + # uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120 + # with: + # build_type: pull-request + #conda-python-tests-singlegpu: + # needs: conda-python-build + # secrets: inherit + # uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 + # with: + # build_type: pull-request + # test_script: "ci/test_python_singlegpu.sh" + #conda-python-tests-dask: + # needs: conda-python-build + # secrets: inherit + # uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120 + # with: + # build_type: pull-request + # test_script: "ci/test_python_dask.sh" + #conda-notebook-tests: + # needs: conda-python-build + # secrets: inherit + # uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 + # with: + # build_type: pull-request + # node_type: "gpu-latest-1" + # arch: "amd64" + # container_image: "rapidsai/ci:latest" + # run_script: "ci/test_notebooks.sh" + #docs-build: + # needs: conda-python-build + # secrets: inherit + # uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120 + # with: + # build_type: pull-request + # node_type: "gpu-latest-1" + # arch: "amd64" + # container_image: "rapidsai/ci:latest" + # run_script: "ci/build_docs.sh" + #wheel-build-cuml: + # needs: checks + # secrets: inherit + # uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-build.yml@cuda-120 + # with: + # build_type: pull-request + # package-name: cuml + # package-dir: python + # extra-repo: rapidsai/cumlprims_mg + # extra-repo-sha: branch-23.02 + # extra-repo-deploy-key: CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY + # skbuild-configure-options: "-DCUML_BUILD_WHEELS=ON -DDETECT_CONDA_ENV=OFF -DDISABLE_DEPRECATION_WARNINGS=ON -DCPM_cumlprims_mg_SOURCE=/project/cumlprims_mg/" + # uses-setup-env-vars: false + #wheel-tests-cuml: + # needs: wheel-build-cuml + # secrets: inherit + # uses: rapidsai/shared-action-workflows/.github/workflows/wheels-manylinux-test.yml@cuda-120 + # with: + # build_type: pull-request + # package-name: cuml + # # Always want to test against latest dask/distributed. + # test-before-amd64: "pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06" + # # On arm also need to install cupy from the specific webpage and CMake + # # because treelite needs to be compiled (no wheels available for arm). + # test-before-arm64: "pip install 'cupy-cuda11x<12.0.0' -f https://pip.cupy.dev/aarch64 && pip install cmake && pip install git+https://github.com/dask/dask.git@2023.3.2 git+https://github.com/dask/distributed.git@2023.3.2.1 git+https://github.com/rapidsai/dask-cuda.git@branch-23.06" + # # skipped test context: https://github.com/rapidsai/cuml/issues/5025 + # # parallelization is based on current test memory usage + # test-unittest: "pytest -v ./python/cuml/tests -k 'not test_silhouette_score_batched and not test_sparse_pca_inputs' -n 8 --ignore=python/cuml/tests/dask && pytest -v ./python/cuml/tests -k 'test_sparse_pca_inputs' && pytest -v ./python/cuml/tests/dask" + # test-smoketest: "python ci/wheel_smoke_test_cuml.py" From 1b2ac1cf1b7d2f2821d13a8678629a0bb4c25307 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 31 Mar 2023 14:39:21 -0700 Subject: [PATCH 06/40] Bifurcate all cuda deps by CUDA version --- conda/recipes/libcuml/conda_build_config.yaml | 54 +++++++++++++++---- conda/recipes/libcuml/meta.yaml | 42 +++++++++++++-- 2 files changed, 82 insertions(+), 14 deletions(-) diff --git a/conda/recipes/libcuml/conda_build_config.yaml b/conda/recipes/libcuml/conda_build_config.yaml index d9aa1c8da5..c1c2ceae30 100644 --- a/conda/recipes/libcuml/conda_build_config.yaml +++ b/conda/recipes/libcuml/conda_build_config.yaml @@ -22,36 +22,70 @@ treelite_version: gtest_version: - "=1.10.0" +# CUDA 11 versions + # 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. -libcublas_host_version: +cuda11_libcublas_host_version: - "=11.11.3.6" -libcublas_run_version: +cuda11_libcublas_run_version: - ">=11.5.2.43,<=11.11.3.6" -libcusolver_host_version: +cuda11_libcusolver_host_version: - "=11.4.1.48" -libcusolver_run_version: +cuda11_libcusolver_run_version: - ">=11.2.0.43,<=11.4.1.48" -libcusparse_host_version: +cuda11_libcusparse_host_version: - "=11.7.5.86" -libcusparse_run_version: +cuda11_libcusparse_run_version: - ">=11.6.0.43,<=11.7.5.86" -libcurand_host_version: +cuda11_libcurand_host_version: - "=10.3.0.86" -libcurand_run_version: +cuda11_libcurand_run_version: - ">=10.2.5.43,<=10.3.0.86" -libcufft_host_version: +cuda11_libcufft_host_version: - "=10.9.0.58" -libcufft_run_version: +cuda11_libcufft_run_version: - ">=10.5.0.43,<=10.9.0.58" + +# CUDA 12 versions + +libcublas_host_version: + - "=12.0.1.189" + +libcublas_run_version: + - ">=12.0.1.189" + +libcusolver_host_version: + - "=11.4.2.57" + +libcusolver_run_version: + - ">=11.4.2.57" + +libcusparse_host_version: + - "=12.0.0.76" + +libcusparse_run_version: + - ">=12.0.0.76" + +libcurand_host_version: + - "=10.3.1.50" + +libcurand_run_version: + - ">=10.3.1.50" + +libcufft_host_version: + - "=11.0.0.21" + +libcufft_run_version: + - ">=11.0.0.21" diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 3ded26f158..3197c57cfe 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -46,22 +46,38 @@ requirements: - ninja - sysroot_{{ target_platform }} {{ sysroot_version }} host: - - cudatoolkit ={{ cuda_version }} - cudf ={{ minor_version }} - gmock - gtest {{ gtest_version }} - lapack + {% if cuda_major == "11" %} + - cudatoolkit ={{ cuda_version }} + - libcublas {{ cuda11_libcublas_host_version }} + - libcublas-dev {{ cuda11_libcublas_host_version }} + - libcufft {{ cuda11_libcufft_host_version }} + - libcufft-dev {{ cuda11_libcufft_host_version }} + - libcurand {{ cuda11_libcurand_host_version }} + - libcurand-dev {{ cuda11_libcurand_host_version }} + - libcusolver {{ cuda11_libcusolver_host_version }} + - libcusolver-dev {{ cuda11_libcusolver_host_version }} + - libcusparse {{ cuda11_libcusparse_host_version }} + - libcusparse-dev {{ cuda11_libcusparse_host_version }} + {% else %} + - cuda-cudart {{ cuda_version }} + - cuda-cudart-dev {{ cuda_version }} + - cuda-cudart-static {{ cuda_version }} - libcublas {{ libcublas_host_version }} - libcublas-dev {{ libcublas_host_version }} - libcufft {{ libcufft_host_version }} - libcufft-dev {{ libcufft_host_version }} - - libcumlprims ={{ minor_version }} - libcurand {{ libcurand_host_version }} - libcurand-dev {{ libcurand_host_version }} - libcusolver {{ libcusolver_host_version }} - libcusolver-dev {{ libcusolver_host_version }} - libcusparse {{ libcusparse_host_version }} - libcusparse-dev {{ libcusparse_host_version }} + {% endif %} + - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - treelite {{ treelite_version }} @@ -81,15 +97,27 @@ outputs: build: - cmake {{ cmake_version }} run: - - cudatoolkit {{ cuda_spec }} - cudf ={{ minor_version }} + {% if cuda_major == "11" %} + - cudatoolkit {{ cuda_spec }} + - libcublas {{ cuda11_libcublas_run_version }} + - libcublas-dev {{ cuda11_libcublas_run_version }} + - libcufft {{ cuda11_libcufft_run_version }} + - libcurand {{ cuda11_libcurand_run_version }} + - libcusparse {{ cuda11_libcusparse_run_version }} + - libcusparse-dev {{ cuda11_libcusparse_run_version }} + {% else %} + - cuda-cudart {{ cuda_spec }} + - cuda-cudart-dev {{ cuda_spec }} + - cuda-cudart-static {{ cuda_spec }} - libcublas {{ libcublas_run_version }} - libcublas-dev {{ libcublas_run_version }} - libcufft {{ libcufft_run_version }} - - libcumlprims ={{ minor_version }} - libcurand {{ libcurand_run_version }} - libcusparse {{ libcusparse_run_version }} - libcusparse-dev {{ libcusparse_run_version }} + {% endif %} + - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - treelite {{ treelite_version }} @@ -111,7 +139,13 @@ outputs: build: - cmake {{ cmake_version }} run: + {% if cuda_major == "11" %} - cudatoolkit {{ cuda_spec }} + {% else %} + - cuda-cudart {{ cuda_spec }} + - cuda-cudart-dev {{ cuda_spec }} + - cuda-cudart-static {{ cuda_spec }} + {% endif %} - {{ pin_subpackage('libcuml', exact=True) }} - gtest {{ gtest_version }} - gmock {{ gtest_version }} From 42c530e22a3e7490f0a057a0b140c835e949db8d Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 6 Apr 2023 09:24:45 -0700 Subject: [PATCH 07/40] Pull raft and culmprims from CUDA 12 PRs --- ci/build_cpp.sh | 4 +++- ci/test_cpp.sh | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index 4a4326c75c..d7d69f6d89 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -9,11 +9,13 @@ export CMAKE_GENERATOR=Ninja RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/f1f61a8/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/93c1ffe/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) rapids-print-env rapids-logger "Begin cpp build" -rapids-mamba-retry mambabuild --channel "${LIBRMM_CHANNEL}" conda/recipes/libcuml +rapids-mamba-retry mambabuild --channel "${LIBRMM_CHANNEL}" --channel "${LIBRAFT_CHANNEL}" --channel "${LIBCUMLPRIMS_CHANNEL}" conda/recipes/libcuml rapids-upload-conda-to-s3 cpp diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index b575dbbfbb..ec130536bf 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -20,6 +20,8 @@ set -u RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/f1f61a8/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/93c1ffe/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"}/ @@ -30,6 +32,8 @@ rapids-print-env rapids-mamba-retry install \ --channel "${CPP_CHANNEL}" \ --channel "${LIBRMM_CHANNEL}" \ + --channel "${LIBRAFT_CHANNEL}" \ + --channel "${LIBCUMLPRIMS_CHANNEL}" \ libcuml libcuml-tests rapids-logger "Check GPU usage" From fb2f30ed9e361f0ff1e36042fb52923bd81a1e8a Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 6 Apr 2023 09:31:34 -0700 Subject: [PATCH 08/40] Patch conda channels --- ci/build_cpp.sh | 19 +++++++++++++++++++ ci/test_cpp.sh | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index d7d69f6d89..0a67412dd1 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -12,6 +12,25 @@ LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_ LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/f1f61a8/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/93c1ffe/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +if [ "${RAPIDS_CUDA_MAJOR}" == 12 ]; then +cat << EOF > /opt/conda/.condarc +auto_update_conda: False +channels: + - rapidsai + - rapidsai-nightly + - dask/label/dev + - pytorch + - nvidia + - conda-forge +always_yes: true +number_channel_notices: 0 +conda_build: + set_build_id: false + root_dir: /tmp/conda-bld-workspace + output_folder: /tmp/conda-bld-output +EOF +fi + rapids-print-env rapids-logger "Begin cpp build" diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index ec130536bf..5264237a21 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -27,6 +27,25 @@ CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"}/ mkdir -p "${RAPIDS_TESTS_DIR}" +if [ "${RAPIDS_CUDA_MAJOR}" == 12 ]; then +cat << EOF > /opt/conda/.condarc +auto_update_conda: False +channels: + - rapidsai + - rapidsai-nightly + - dask/label/dev + - pytorch + - nvidia + - conda-forge +always_yes: true +number_channel_notices: 0 +conda_build: + set_build_id: false + root_dir: /tmp/conda-bld-workspace + output_folder: /tmp/conda-bld-output +EOF +fi + rapids-print-env rapids-mamba-retry install \ From 9cf22b87b580515f22cfad99f90f2fa33a5889be Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 6 Apr 2023 09:34:40 -0700 Subject: [PATCH 09/40] Update dependencies.yaml --- dependencies.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/dependencies.yaml b/dependencies.yaml index 790d083be8..6e972abbda 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -174,6 +174,21 @@ dependencies: specific: - output_types: conda matrices: + - matrix: + cuda: "12.0" + packages: + - cuda-cudart=12.0 + - cuda-cudart-dev=12.0 + - cuda-cudart-static=12.0 + - cuda-profiler-api=12.0.76 + - libcublas-dev=12.0.1.189 + - libcublas=12.0.1.189 + - libcurand-dev=10.3.1.50 + - libcurand=10.3.1.50 + - libcusolver-dev=11.4.2.57 + - libcusolver=11.4.2.57 + - libcusparse-dev=12.0.0.76 + - libcusparse=12.0.0.76 - matrix: cuda: "11.8" packages: From 695497701e641d7720575a9ba15da87b9d0ffe0d Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 6 Apr 2023 09:56:27 -0700 Subject: [PATCH 10/40] Remove faiss dep for CUDA 12 --- conda/recipes/libcuml/meta.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 3197c57cfe..e6a3f3748f 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -62,6 +62,9 @@ requirements: - libcusolver-dev {{ cuda11_libcusolver_host_version }} - libcusparse {{ cuda11_libcusparse_host_version }} - libcusparse-dev {{ cuda11_libcusparse_host_version }} + # Ignore faiss in CUDA 12 for now + - libfaiss>=1.7.1 + - faiss-proc=*=cuda {% else %} - cuda-cudart {{ cuda_version }} - cuda-cudart-dev {{ cuda_version }} @@ -81,8 +84,6 @@ requirements: - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - treelite {{ treelite_version }} - - libfaiss>=1.7.1 - - faiss-proc=*=cuda outputs: - name: libcuml @@ -106,6 +107,9 @@ outputs: - libcurand {{ cuda11_libcurand_run_version }} - libcusparse {{ cuda11_libcusparse_run_version }} - libcusparse-dev {{ cuda11_libcusparse_run_version }} + # Ignore faiss in CUDA 12 for now + - libfaiss>=1.7.1 + - faiss-proc=*=cuda {% else %} - cuda-cudart {{ cuda_spec }} - cuda-cudart-dev {{ cuda_spec }} @@ -121,8 +125,6 @@ outputs: - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - treelite {{ treelite_version }} - - libfaiss>=1.7.1 - - faiss-proc=*=cuda about: home: https://rapids.ai/ license: Apache-2.0 From 0a44511bc0e40160d19118934a628e1c82a02070 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 6 Apr 2023 14:33:17 -0700 Subject: [PATCH 11/40] Update to latest raft and cumlprims hashes --- ci/build_cpp.sh | 4 ++-- ci/test_cpp.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index 0a67412dd1..b88537fbf4 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -9,8 +9,8 @@ export CMAKE_GENERATOR=Ninja RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/f1f61a8/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/93c1ffe/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) if [ "${RAPIDS_CUDA_MAJOR}" == 12 ]; then cat << EOF > /opt/conda/.condarc diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 5264237a21..9dfbe2fe96 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -20,8 +20,8 @@ set -u RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/f1f61a8/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/93c1ffe/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"}/ From 347195b6616a6f7c2c930b1fe9fcb66daf060a03 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Wed, 12 Apr 2023 21:30:34 -0500 Subject: [PATCH 12/40] UPD Update RMM hash --- ci/build_cpp.sh | 2 +- ci/test_cpp.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index b88537fbf4..0d2e878bbf 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -8,7 +8,7 @@ source rapids-env-update export CMAKE_GENERATOR=Ninja RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" -LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/042a67e/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 9dfbe2fe96..1621223267 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -19,7 +19,7 @@ conda activate test set -u RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" -LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/72e0c74/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/042a67e/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) From 424ee3c9c158547c1a42e9767878f5b1edf48758 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Thu, 13 Apr 2023 11:54:56 -0500 Subject: [PATCH 13/40] Empty commit to get CI fix From d5fbb3297be0b87a14c5d1c4634f145a8871ec55 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Fri, 14 Apr 2023 12:09:49 -0500 Subject: [PATCH 14/40] FIX line from bad merge --- .github/workflows/pr.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 27b53a175f..3f11e108ad 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -41,7 +41,6 @@ jobs: uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120 with: build_type: pull-request -<<<<<<< HEAD #conda-python-build: # needs: conda-cpp-build # secrets: inherit From 422b49aec85ab25fdc8775e7eff74b69eb7b6aa6 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Fri, 14 Apr 2023 17:17:36 -0500 Subject: [PATCH 15/40] DBG remove conda-forge channel packages before installing artifacts --- ci/test_cpp.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 1621223267..3389a856dc 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -48,6 +48,9 @@ fi rapids-print-env +# debug: remove cuda 12 packages from conda-forge that are being combined with nvidia channel ones +conda remove --force cuda-cccl_linux-64 cuda-cudart cuda-cudart-dev cuda-cudart-dev_linucuda-cudart-static cuda-cudart-static_lincuda-profiler-api cuda-version libcublas libcublas-dev libcurand libcurand-dev libcusolver libcusolver-dev libcusparse libcusparse-dev libnvjitlink + rapids-mamba-retry install \ --channel "${CPP_CHANNEL}" \ --channel "${LIBRMM_CHANNEL}" \ From c51a1d5220e54f071128a97d6fa71f9c47d1a84c Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Sat, 15 Apr 2023 16:50:39 -0500 Subject: [PATCH 16/40] FIX Remove cudf from libcuml conda recipe --- conda/recipes/libcuml/meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index e6a3f3748f..141fad5a0d 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -46,7 +46,6 @@ requirements: - ninja - sysroot_{{ target_platform }} {{ sysroot_version }} host: - - cudf ={{ minor_version }} - gmock - gtest {{ gtest_version }} - lapack @@ -98,7 +97,6 @@ outputs: build: - cmake {{ cmake_version }} run: - - cudf ={{ minor_version }} {% if cuda_major == "11" %} - cudatoolkit {{ cuda_spec }} - libcublas {{ cuda11_libcublas_run_version }} From 083b9e8584897e3e07e30dd3557bf82712d98096 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Sat, 15 Apr 2023 20:33:12 -0500 Subject: [PATCH 17/40] DBG build libcuml package in singlegpu mode --- ci/build_cpp.sh | 2 +- ci/test_cpp.sh | 5 +++-- conda/recipes/libcuml/build.sh | 2 +- conda/recipes/libcuml/meta.yaml | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index 0d2e878bbf..57be21bfe3 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -10,7 +10,7 @@ export CMAKE_GENERATOR=Ninja RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/042a67e/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +# LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) if [ "${RAPIDS_CUDA_MAJOR}" == 12 ]; then cat << EOF > /opt/conda/.condarc diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 3389a856dc..56354deecc 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -21,7 +21,7 @@ set -u RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/042a67e/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) +# LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"}/ @@ -55,9 +55,10 @@ rapids-mamba-retry install \ --channel "${CPP_CHANNEL}" \ --channel "${LIBRMM_CHANNEL}" \ --channel "${LIBRAFT_CHANNEL}" \ - --channel "${LIBCUMLPRIMS_CHANNEL}" \ libcuml libcuml-tests +conda list + rapids-logger "Check GPU usage" nvidia-smi diff --git a/conda/recipes/libcuml/build.sh b/conda/recipes/libcuml/build.sh index cd57f133cc..256753f6a5 100644 --- a/conda/recipes/libcuml/build.sh +++ b/conda/recipes/libcuml/build.sh @@ -2,4 +2,4 @@ # Copyright (c) 2018-2023, NVIDIA CORPORATION. export NVCC_PREPEND_FLAGS="${NVCC_PREPEND_FLAGS} -ccbin ${CXX}" # Needed for CUDA 12 nvidia channel compilers -./build.sh -n libcuml prims -v --allgpuarch +./build.sh -n libcuml prims -v --allgpuarch --singlegpu diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 141fad5a0d..b590a9e27f 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -79,7 +79,7 @@ requirements: - libcusparse {{ libcusparse_host_version }} - libcusparse-dev {{ libcusparse_host_version }} {% endif %} - - libcumlprims ={{ minor_version }} + # - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - treelite {{ treelite_version }} @@ -119,7 +119,7 @@ outputs: - libcusparse {{ libcusparse_run_version }} - libcusparse-dev {{ libcusparse_run_version }} {% endif %} - - libcumlprims ={{ minor_version }} + # - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - treelite {{ treelite_version }} From 987eb4b41771dbe336ed5d3420f82a54fae92e7e Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Sat, 15 Apr 2023 21:42:23 -0500 Subject: [PATCH 18/40] FIX remove straggling channel --- ci/build_cpp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index 57be21bfe3..5993c1fa0d 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -35,6 +35,6 @@ rapids-print-env rapids-logger "Begin cpp build" -rapids-mamba-retry mambabuild --channel "${LIBRMM_CHANNEL}" --channel "${LIBRAFT_CHANNEL}" --channel "${LIBCUMLPRIMS_CHANNEL}" conda/recipes/libcuml +rapids-mamba-retry mambabuild --channel "${LIBRMM_CHANNEL}" --channel "${LIBRAFT_CHANNEL}" conda/recipes/libcuml rapids-upload-conda-to-s3 cpp From 9641d91a528270f39220fddd0ced3aa60960cb20 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 12:23:18 -0500 Subject: [PATCH 19/40] UPD Update libcuml conda recipe --- ci/build_cpp.sh | 26 +------- ci/test_cpp.sh | 26 -------- conda/recipes/libcuml/build.sh | 5 +- conda/recipes/libcuml/conda_build_config.yaml | 32 ---------- conda/recipes/libcuml/meta.yaml | 59 ++++++------------- 5 files changed, 20 insertions(+), 128 deletions(-) diff --git a/ci/build_cpp.sh b/ci/build_cpp.sh index 5993c1fa0d..0feb1bf80b 100755 --- a/ci/build_cpp.sh +++ b/ci/build_cpp.sh @@ -7,34 +7,10 @@ source rapids-env-update export CMAKE_GENERATOR=Ninja -RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" -LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/042a67e/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -# LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) - -if [ "${RAPIDS_CUDA_MAJOR}" == 12 ]; then -cat << EOF > /opt/conda/.condarc -auto_update_conda: False -channels: - - rapidsai - - rapidsai-nightly - - dask/label/dev - - pytorch - - nvidia - - conda-forge -always_yes: true -number_channel_notices: 0 -conda_build: - set_build_id: false - root_dir: /tmp/conda-bld-workspace - output_folder: /tmp/conda-bld-output -EOF -fi - rapids-print-env rapids-logger "Begin cpp build" -rapids-mamba-retry mambabuild --channel "${LIBRMM_CHANNEL}" --channel "${LIBRAFT_CHANNEL}" conda/recipes/libcuml +rapids-mamba-retry mambabuild conda/recipes/libcuml rapids-upload-conda-to-s3 cpp diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 56354deecc..5de6b17c82 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -18,34 +18,10 @@ set +u conda activate test set -u -RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" -LIBRMM_CHANNEL=$(rapids-get-artifact ci/rmm/pull-request/1223/042a67e/rmm_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -LIBRAFT_CHANNEL=$(rapids-get-artifact ci/raft/pull-request/1388/7bddaee/raft_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) -# LIBCUMLPRIMS_CHANNEL=$(rapids-get-artifact ci/cumlprims_mg/pull-request/129/85effb7/cumlprims_mg_conda_cpp_cuda${RAPIDS_CUDA_MAJOR}_$(arch).tar.gz) - CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp) RAPIDS_TESTS_DIR=${RAPIDS_TESTS_DIR:-"${PWD}/test-results"}/ mkdir -p "${RAPIDS_TESTS_DIR}" -if [ "${RAPIDS_CUDA_MAJOR}" == 12 ]; then -cat << EOF > /opt/conda/.condarc -auto_update_conda: False -channels: - - rapidsai - - rapidsai-nightly - - dask/label/dev - - pytorch - - nvidia - - conda-forge -always_yes: true -number_channel_notices: 0 -conda_build: - set_build_id: false - root_dir: /tmp/conda-bld-workspace - output_folder: /tmp/conda-bld-output -EOF -fi - rapids-print-env # debug: remove cuda 12 packages from conda-forge that are being combined with nvidia channel ones @@ -53,8 +29,6 @@ conda remove --force cuda-cccl_linux-64 cuda-cudart cuda-cudart-dev cuda-cudart- rapids-mamba-retry install \ --channel "${CPP_CHANNEL}" \ - --channel "${LIBRMM_CHANNEL}" \ - --channel "${LIBRAFT_CHANNEL}" \ libcuml libcuml-tests conda list diff --git a/conda/recipes/libcuml/build.sh b/conda/recipes/libcuml/build.sh index 256753f6a5..228f6cefda 100644 --- a/conda/recipes/libcuml/build.sh +++ b/conda/recipes/libcuml/build.sh @@ -1,5 +1,4 @@ #!/bin/bash -# Copyright (c) 2018-2023, NVIDIA CORPORATION. +# Copyright (c) 2018-2022, NVIDIA CORPORATION. -export NVCC_PREPEND_FLAGS="${NVCC_PREPEND_FLAGS} -ccbin ${CXX}" # Needed for CUDA 12 nvidia channel compilers -./build.sh -n libcuml prims -v --allgpuarch --singlegpu +./build.sh -n libcuml prims -v --allgpuarch diff --git a/conda/recipes/libcuml/conda_build_config.yaml b/conda/recipes/libcuml/conda_build_config.yaml index f38052cf93..35549c4f97 100644 --- a/conda/recipes/libcuml/conda_build_config.yaml +++ b/conda/recipes/libcuml/conda_build_config.yaml @@ -57,35 +57,3 @@ cuda11_libcufft_host_version: cuda11_libcufft_run_version: - ">=10.5.0.43,<=10.9.0.58" - -# CUDA 12 versions - -libcublas_host_version: - - "=12.0.1.189" - -libcublas_run_version: - - ">=12.0.1.189" - -libcusolver_host_version: - - "=11.4.2.57" - -libcusolver_run_version: - - ">=11.4.2.57" - -libcusparse_host_version: - - "=12.0.0.76" - -libcusparse_run_version: - - ">=12.0.0.76" - -libcurand_host_version: - - "=10.3.1.50" - -libcurand_run_version: - - ">=10.3.1.50" - -libcufft_host_version: - - "=11.0.0.21" - -libcufft_run_version: - - ">=11.0.0.21" diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index c5e66cf521..265d64620c 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -35,20 +35,16 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} {% if cuda_major == "11" %} - - {{ compiler('cuda11') }} {{ cuda_version }} + - {{ compiler('cuda11') }} ={{ cuda_version }} {% else %} - - {{ compiler('cuda') }} {{ cuda_version }} - - cuda-cudart {{ cuda_version }} - - cuda-cudart-dev {{ cuda_version }} - - cuda-cudart-static {{ cuda_version }} + - {{ compiler('cuda') }} {% endif %} + - cuda-version ={{ cuda_version }} - cmake {{ cmake_version }} - ninja - sysroot_{{ target_platform }} {{ sysroot_version }} host: - - gmock - - gtest {{ gtest_version }} - - lapack + - cuda-version ={{ cuda_version }} {% if cuda_major == "11" %} - cudatoolkit ={{ cuda_version }} - libcublas {{ cuda11_libcublas_host_version }} @@ -61,25 +57,17 @@ requirements: - libcusolver-dev {{ cuda11_libcusolver_host_version }} - libcusparse {{ cuda11_libcusparse_host_version }} - libcusparse-dev {{ cuda11_libcusparse_host_version }} - # Ignore faiss in CUDA 12 for now - - libfaiss>=1.7.1 - - faiss-proc=*=cuda {% else %} - - cuda-cudart {{ cuda_version }} - - cuda-cudart-dev {{ cuda_version }} - - cuda-cudart-static {{ cuda_version }} - - libcublas {{ libcublas_host_version }} - - libcublas-dev {{ libcublas_host_version }} - - libcufft {{ libcufft_host_version }} - - libcufft-dev {{ libcufft_host_version }} - - libcurand {{ libcurand_host_version }} - - libcurand-dev {{ libcurand_host_version }} - - libcusolver {{ libcusolver_host_version }} - - libcusolver-dev {{ libcusolver_host_version }} - - libcusparse {{ libcusparse_host_version }} - - libcusparse-dev {{ libcusparse_host_version }} + - cuda-cudart-dev + - libcublas-dev + - libcufft-dev + - libcurand-dev + - libcusolver-dev + - libcusparse-dev {% endif %} - # - libcumlprims ={{ minor_version }} + - gmock + - gtest {{ gtest_version }} + - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - librmm ={{ minor_version }} @@ -95,32 +83,24 @@ outputs: ignore_run_exports_from: - {{ compiler('cuda') }} requirements: - build: - - cmake {{ cmake_version }} run: + - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} - - cudatoolkit {{ cuda_spec }} + - cudatoolkit - libcublas {{ cuda11_libcublas_run_version }} - libcublas-dev {{ cuda11_libcublas_run_version }} - libcufft {{ cuda11_libcufft_run_version }} - libcurand {{ cuda11_libcurand_run_version }} - libcusparse {{ cuda11_libcusparse_run_version }} - libcusparse-dev {{ cuda11_libcusparse_run_version }} - # Ignore faiss in CUDA 12 for now - - libfaiss>=1.7.1 - - faiss-proc=*=cuda {% else %} - - cuda-cudart {{ cuda_spec }} - cuda-cudart-dev {{ cuda_spec }} - - cuda-cudart-static {{ cuda_spec }} - - libcublas {{ libcublas_run_version }} - libcublas-dev {{ libcublas_run_version }} - libcufft {{ libcufft_run_version }} - libcurand {{ libcurand_run_version }} - libcusparse {{ libcusparse_run_version }} - - libcusparse-dev {{ libcusparse_run_version }} {% endif %} - # - libcumlprims ={{ minor_version }} + - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} - libraft-headers ={{ minor_version }} - librmm ={{ minor_version }} @@ -138,15 +118,10 @@ outputs: ignore_run_exports_from: - {{ compiler('cuda') }} requirements: - build: - - cmake {{ cmake_version }} run: + - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} - cudatoolkit {{ cuda_spec }} - {% else %} - - cuda-cudart {{ cuda_spec }} - - cuda-cudart-dev {{ cuda_spec }} - - cuda-cudart-static {{ cuda_spec }} {% endif %} - {{ pin_subpackage('libcuml', exact=True) }} - gtest {{ gtest_version }} From b00a69fd14d58f2e9dadb224b4b595b981a0ad2d Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 12:44:03 -0500 Subject: [PATCH 20/40] UPD Update cuml conda recipe --- conda/recipes/cuml/conda_build_config.yaml | 10 +++-- conda/recipes/cuml/meta.yaml | 51 +++++++++++++++------- conda/recipes/libcuml/meta.yaml | 10 +++-- 3 files changed, 49 insertions(+), 22 deletions(-) diff --git a/conda/recipes/cuml/conda_build_config.yaml b/conda/recipes/cuml/conda_build_config.yaml index 97722b953e..942d4fc9de 100644 --- a/conda/recipes/cuml/conda_build_config.yaml +++ b/conda/recipes/cuml/conda_build_config.yaml @@ -13,20 +13,22 @@ cmake_version: sysroot_version: - "=2.17" +# CUDA 11 versions + # 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. -libcublas_host_version: +cuda11_libcublas_host_version: - "=11.11.3.6" -libcurand_host_version: +cuda11_libcurand_host_version: - "=10.3.0.86" -libcusolver_host_version: +cuda11_libcusolver_host_version: - "=11.4.1.48" -libcusparse_host_version: +cuda11_libcusparse_host_version: - "=11.7.5.86" treelite_version: diff --git a/conda/recipes/cuml/meta.yaml b/conda/recipes/cuml/meta.yaml index 96095485c8..a8c8587b59 100644 --- a/conda/recipes/cuml/meta.yaml +++ b/conda/recipes/cuml/meta.yaml @@ -33,31 +33,47 @@ build: - SCCACHE_S3_KEY_PREFIX=cuml-linux64 # [linux64] - SCCACHE_S3_USE_SSL ignore_run_exports_from: - - {{ compiler('cuda') }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% endif %} requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - {{ compiler('cuda') }} {{ cuda_version }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} ={{ cuda_version }} + {% else %} + - {{ compiler('cuda') }} + {% endif %} + - cuda-version ={{ cuda_version }} - cmake {{ cmake_version }} - ninja - sysroot_{{ target_platform }} {{ sysroot_version }} host: - - cuda-python >=11.7.1,<12.0 - - cudatoolkit ={{ cuda_version }} + - cuda-version ={{ cuda_version }} + {% if cuda_major == "11" %} + - cuda-python >=11.7.1,<12.0a0 + - cudatoolkit + - libcublas {{ cuda11_libcublas_host_version }} + - libcublas-dev {{ cuda11_libcublas_host_version }} + - libcurand {{ cuda11_libcurand_host_version }} + - libcurand-dev {{ cuda11_libcurand_host_version }} + - libcusolver {{ cuda11_libcusolver_host_version }} + - libcusolver-dev {{ cuda11_libcusolver_host_version }} + - libcusparse {{ cuda11_libcusparse_host_version }} + - libcusparse-dev {{ cuda11_libcusparse_host_version }} + {% else %} + - cuda-python >=12.0,<13.0a0 + - libcublas-dev + - libcurand-dev + - libcusolver-dev + - libcusparse-dev + {% endif %} - cudf ={{ minor_version }} - cython >=0.29,<0.30 - - libcublas {{ libcublas_host_version }} - - libcublas-dev {{ libcublas_host_version }} - libcuml ={{ version }} - libcumlprims ={{ minor_version }} - - libcurand {{ libcurand_host_version }} - - libcurand-dev {{ libcurand_host_version }} - - libcusolver {{ libcusolver_host_version }} - - libcusolver-dev {{ libcusolver_host_version }} - - libcusparse {{ libcusparse_host_version }} - - libcusparse-dev {{ libcusparse_host_version }} - pylibraft ={{ minor_version }} - python x.x - raft-dask ={{ minor_version }} @@ -65,8 +81,13 @@ requirements: - setuptools - treelite {{ treelite_version }} run: - - {{ pin_compatible('cudatoolkit', max_pin='x', min_pin='x') }} - - cuda-python >=11.7.1,<12.0 + - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} + {% if cuda_major == "11" %} + - cuda-python >=11.7.1,<12.0a0 + - cudatoolkit + {% else %} + - cuda-python >=12.0,<13.0a0 + {% endif %} - cudf ={{ minor_version }} - cupy >=12.0.0 - dask-cudf ={{ minor_version }} @@ -83,7 +104,7 @@ requirements: tests: requirements: - - cudatoolkit ={{ cuda_version }} + - cuda-version ={{ cuda_version }} imports: - cuml diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 265d64620c..adcdc3e554 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -81,7 +81,9 @@ outputs: number: {{ GIT_DESCRIBE_NUMBER }} string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }} ignore_run_exports_from: - - {{ compiler('cuda') }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% endif %} requirements: run: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} @@ -116,12 +118,14 @@ outputs: number: {{ GIT_DESCRIBE_NUMBER }} string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }} ignore_run_exports_from: - - {{ compiler('cuda') }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% endif %} requirements: run: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} - - cudatoolkit {{ cuda_spec }} + - cudatoolkit {% endif %} - {{ pin_subpackage('libcuml', exact=True) }} - gtest {{ gtest_version }} From 718fbd3a12856b7181b07804105f3378427e49af Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 12:48:29 -0500 Subject: [PATCH 21/40] UPD dependencies.yaml updates for CUDA 12 --- .../all_cuda-118_arch-x86_64.yaml | 3 +- .../all_cuda-120_arch-x86_64.yaml | 73 +++++++++++++++++++ .../cpp_all_cuda-118_arch-x86_64.yaml | 3 +- .../cpp_all_cuda-120_arch-x86_64.yaml | 27 +++++++ dependencies.yaml | 35 +++++---- 5 files changed, 121 insertions(+), 20 deletions(-) create mode 100644 conda/environments/all_cuda-120_arch-x86_64.yaml create mode 100644 conda/environments/cpp_all_cuda-120_arch-x86_64.yaml diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 15e75cab3c..1794fbf743 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -10,7 +10,8 @@ dependencies: - c-compiler - cmake>=3.26.4 - cuda-python>=11.7.1,<12.0 -- cudatoolkit=11.8 +- cuda-version=11.8 +- cudatoolkit - cudf==23.8.* - cupy>=12.0.0 - cxx-compiler diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml new file mode 100644 index 0000000000..2e3db4c30e --- /dev/null +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -0,0 +1,73 @@ +# 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: +- c-compiler +- cmake>=3.26.4 +- cuda-cudart-dev +- cuda-profiler-api +- cuda-python>=11.7.1,<12.0 +- cuda-version=12.0 +- cudf==23.8.* +- cupy>=12.0.0 +- cxx-compiler +- cython>=0.29,<0.30 +- dask-core>=2023.5.1 +- dask-cuda==23.8.* +- dask-cudf==23.8.* +- dask-ml +- dask>=2023.5.1 +- distributed>=2023.5.1 +- doxygen=1.8.20 +- gcc_linux-64=11.* +- graphviz +- hdbscan +- hypothesis>=6.0,<7 +- ipykernel +- ipython +- joblib>=0.11 +- libcublas-dev +- libcumlprims==23.8.* +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libraft-headers==23.8.* +- libraft==23.8.* +- librmm==23.8.* +- nbsphinx +- ninja +- nltk +- numba>=0.57 +- numpydoc +- pip +- pydata-sphinx-theme +- pylibraft==23.8.* +- pynndescent==0.5.8 +- pytest +- pytest-benchmark +- pytest-cases +- pytest-cov +- pytest-xdist +- python>=3.9,<3.11 +- raft-dask==23.8.* +- recommonmark +- rmm==23.8.* +- scikit-build>=0.13.1 +- scikit-learn==1.2 +- scipy>=1.8.0 +- seaborn +- sphinx-copybutton +- sphinx-markdown-tables +- sphinx<6 +- statsmodels +- sysroot_linux-64==2.17 +- treelite==3.2.0 +- umap-learn==0.5.3 +- pip: + - git+https://github.com/dask/dask-glm@main +name: all_cuda-120_arch-x86_64 diff --git a/conda/environments/cpp_all_cuda-118_arch-x86_64.yaml b/conda/environments/cpp_all_cuda-118_arch-x86_64.yaml index a5ecce6f4a..f6974adbe7 100644 --- a/conda/environments/cpp_all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/cpp_all_cuda-118_arch-x86_64.yaml @@ -9,7 +9,8 @@ channels: dependencies: - c-compiler - cmake>=3.26.4 -- cudatoolkit=11.8 +- cuda-version=11.8 +- cudatoolkit - cxx-compiler - gcc_linux-64=11.* - libcublas-dev=11.11.3.6 diff --git a/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml b/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml new file mode 100644 index 0000000000..0458a3d64f --- /dev/null +++ b/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml @@ -0,0 +1,27 @@ +# 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: +- c-compiler +- cmake>=3.26.4 +- cuda-cudart-dev +- cuda-profiler-api +- cuda-version=12.0 +- cxx-compiler +- gcc_linux-64=11.* +- libcublas-dev +- libcumlprims==23.8.* +- libcurand-dev +- libcusolver-dev +- libcusparse-dev +- libraft-headers==23.8.* +- libraft==23.8.* +- librmm==23.8.* +- ninja +- sysroot_linux-64==2.17 +name: cpp_all_cuda-120_arch-x86_64 diff --git a/dependencies.yaml b/dependencies.yaml index d9f7b2cda2..c2b241fa50 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,7 +3,7 @@ files: all: output: conda matrix: - cuda: ["11.8"] + cuda: ["11.8", "12.0"] arch: [x86_64] includes: - common_build @@ -16,7 +16,7 @@ files: cpp_all: output: conda matrix: - cuda: ["11.8"] + cuda: ["11.8", "12.0"] arch: [x86_64] includes: - common_build @@ -168,22 +168,18 @@ dependencies: - matrix: cuda: "12.0" packages: - - cuda-cudart=12.0 - - cuda-cudart-dev=12.0 - - cuda-cudart-static=12.0 - - cuda-profiler-api=12.0.76 - - libcublas-dev=12.0.1.189 - - libcublas=12.0.1.189 - - libcurand-dev=10.3.1.50 - - libcurand=10.3.1.50 - - libcusolver-dev=11.4.2.57 - - libcusolver=11.4.2.57 - - libcusparse-dev=12.0.0.76 - - libcusparse=12.0.0.76 + - cuda-version=12.0 + - cuda-cudart-dev + - cuda-profiler-api + - libcublas-dev + - libcurand-dev + - libcusolver-dev + - libcusparse-dev - matrix: cuda: "11.8" packages: - - cudatoolkit=11.8 + - cuda-version=11.8 + - cudatoolkit - libcublas-dev=11.11.3.6 - libcublas=11.11.3.6 - libcufft-dev=10.9.0.58 @@ -197,7 +193,8 @@ dependencies: - matrix: cuda: "11.5" packages: - - cudatoolkit=11.5 + - cuda-version=11.5 + - cudatoolkit - libcublas-dev>=11.7.3.1,<=11.7.4.6 - libcublas>=11.7.3.1,<=11.7.4.6 - libcufft-dev>=10.6.0.54,<=10.6.0.107 @@ -211,7 +208,8 @@ dependencies: - matrix: cuda: "11.4" packages: - - cudatoolkit=11.4 + - cuda-version=11.4 + - cudatoolkit - &libcublas_dev114 libcublas-dev>=11.5.2.43,<=11.6.5.2 - &libcublas114 libcublas>=11.5.2.43,<=11.6.5.2 - &libcufft_dev114 libcufft-dev>=10.5.0.43,<=10.5.2.100 @@ -225,7 +223,8 @@ dependencies: - matrix: cuda: "11.2" packages: - - cudatoolkit=11.2 + - cuda-version=11.2 + - cudatoolkit # The NVIDIA channel doesn't publish pkgs older than 11.4 for these libs, # so 11.2 uses 11.4 packages (the oldest available). - *libcublas_dev114 From 851b69ff0905b23dacdc5e8763202efde3c16f34 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 12:50:39 -0500 Subject: [PATCH 22/40] FIX remove test_cpp.sh changes --- ci/test_cpp.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 5de6b17c82..c90bc590aa 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -24,15 +24,10 @@ mkdir -p "${RAPIDS_TESTS_DIR}" rapids-print-env -# debug: remove cuda 12 packages from conda-forge that are being combined with nvidia channel ones -conda remove --force cuda-cccl_linux-64 cuda-cudart cuda-cudart-dev cuda-cudart-dev_linucuda-cudart-static cuda-cudart-static_lincuda-profiler-api cuda-version libcublas libcublas-dev libcurand libcurand-dev libcusolver libcusolver-dev libcusparse libcusparse-dev libnvjitlink - rapids-mamba-retry install \ --channel "${CPP_CHANNEL}" \ libcuml libcuml-tests -conda list - rapids-logger "Check GPU usage" nvidia-smi From e950ee09383095a1ac6551851457760a79ca3d1e Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 13:01:48 -0500 Subject: [PATCH 23/40] FIX Remove explicit libraft-headers from libcuml recipe --- conda/recipes/libcuml/meta.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index adcdc3e554..64fc6dde32 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -104,7 +104,6 @@ outputs: {% endif %} - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} - - libraft-headers ={{ minor_version }} - librmm ={{ minor_version }} - treelite {{ treelite_version }} about: From 2a8331819b0ec2c5f6a453f3f8654f4688730a0d Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 15:09:06 -0500 Subject: [PATCH 24/40] FIX prefix of cuda variables in recipe --- conda/recipes/libcuml/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 64fc6dde32..db87059ff5 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -97,10 +97,10 @@ outputs: - libcusparse-dev {{ cuda11_libcusparse_run_version }} {% else %} - cuda-cudart-dev {{ cuda_spec }} - - libcublas-dev {{ libcublas_run_version }} - - libcufft {{ libcufft_run_version }} - - libcurand {{ libcurand_run_version }} - - libcusparse {{ libcusparse_run_version }} + - libcublas-dev {{ cuda11_libcublas_run_version }} + - libcufft {{ cuda11_libcufft_run_version }} + - libcurand {{ cuda11_libcurand_run_version }} + - libcusparse {{ cuda11_libcusparse_run_version }} {% endif %} - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} From 2bff4c1e2e2bf842001aa2223d54043bc7cfd2cf Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 15:47:39 -0500 Subject: [PATCH 25/40] FIX ignore_run_exports from PR review --- conda/recipes/libcuml/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index db87059ff5..b29711ae3c 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -14,6 +14,10 @@ source: git_url: ../../.. build: + ignore_run_exports_from: + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% endif %} script_env: - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY From 4c498326fd2858bc0ef92326cb37f6e7184658ff Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 16:41:59 -0500 Subject: [PATCH 26/40] FIX add cmake build req back in libcuml recipe --- conda/recipes/libcuml/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index b29711ae3c..75e159995c 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -89,6 +89,8 @@ outputs: - {{ compiler('cuda11') }} {% endif %} requirements: + build: + - cmake {{ cmake_version }} run: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} @@ -125,6 +127,8 @@ outputs: - {{ compiler('cuda11') }} {% endif %} requirements: + build: + - cmake {{ cmake_version }} run: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} From 1f1e7e34721247d8eb3e13616d4cbac50d93aada Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 20:14:11 -0500 Subject: [PATCH 27/40] Update conda/recipes/libcuml/meta.yaml Co-authored-by: jakirkham --- conda/recipes/libcuml/meta.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 75e159995c..a6cb5106ed 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -102,11 +102,11 @@ outputs: - libcusparse {{ cuda11_libcusparse_run_version }} - libcusparse-dev {{ cuda11_libcusparse_run_version }} {% else %} - - cuda-cudart-dev {{ cuda_spec }} - - libcublas-dev {{ cuda11_libcublas_run_version }} - - libcufft {{ cuda11_libcufft_run_version }} - - libcurand {{ cuda11_libcurand_run_version }} - - libcusparse {{ cuda11_libcusparse_run_version }} + - cuda-cudart-dev + - libcublas-dev + - libcufft + - libcurand + - libcusparse {% endif %} - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} From 3a8532c0e78730156ccf25d9b3a999c4f4f1ae23 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 20:54:59 -0500 Subject: [PATCH 28/40] FIX cuml conda_config fix and gha cuda-120 actions --- .github/workflows/pr.yaml | 14 +++++++------- conda/recipes/cuml/conda_build_config.yaml | 3 +++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 25c3b5b45f..c7735b9ac7 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -44,27 +44,27 @@ jobs: 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-singlegpu: 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 test_script: "ci/test_python_singlegpu.sh" conda-python-tests-dask: 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 test_script: "ci/test_python_dask.sh" conda-notebook-tests: 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" @@ -74,7 +74,7 @@ jobs: 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" @@ -84,7 +84,7 @@ jobs: wheel-build-cuml: 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: cuml @@ -96,7 +96,7 @@ jobs: wheel-tests-cuml: needs: wheel-build-cuml 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: cuml diff --git a/conda/recipes/cuml/conda_build_config.yaml b/conda/recipes/cuml/conda_build_config.yaml index 942d4fc9de..f645f290aa 100644 --- a/conda/recipes/cuml/conda_build_config.yaml +++ b/conda/recipes/cuml/conda_build_config.yaml @@ -5,6 +5,9 @@ cxx_compiler_version: - 11 cuda_compiler: + - cuda-nvcc + +cuda11_compiler: - nvcc cmake_version: From c641c537f7eaff55b6fdc06daaff200603ad77dd Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 20:57:47 -0500 Subject: [PATCH 29/40] Apply suggestions from code review Co-authored-by: jakirkham --- conda/recipes/cuml/meta.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/conda/recipes/cuml/meta.yaml b/conda/recipes/cuml/meta.yaml index a8c8587b59..dc3fd85e17 100644 --- a/conda/recipes/cuml/meta.yaml +++ b/conda/recipes/cuml/meta.yaml @@ -53,7 +53,7 @@ requirements: host: - cuda-version ={{ cuda_version }} {% if cuda_major == "11" %} - - cuda-python >=11.7.1,<12.0a0 + - cuda-python ==11.7.1 - cudatoolkit - libcublas {{ cuda11_libcublas_host_version }} - libcublas-dev {{ cuda11_libcublas_host_version }} @@ -64,7 +64,7 @@ requirements: - libcusparse {{ cuda11_libcusparse_host_version }} - libcusparse-dev {{ cuda11_libcusparse_host_version }} {% else %} - - cuda-python >=12.0,<13.0a0 + - cuda-python ==12.0.0 - libcublas-dev - libcurand-dev - libcusolver-dev @@ -83,10 +83,7 @@ requirements: run: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} - - cuda-python >=11.7.1,<12.0a0 - cudatoolkit - {% else %} - - cuda-python >=12.0,<13.0a0 {% endif %} - cudf ={{ minor_version }} - cupy >=12.0.0 From a8d102f39a698df4ebeac605aa932e87ddea1fd5 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Mon, 10 Jul 2023 21:37:43 -0500 Subject: [PATCH 30/40] FIX update dependencies.yaml --- conda/environments/all_cuda-118_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-120_arch-x86_64.yaml | 5 ++++- .../cpp_all_cuda-120_arch-x86_64.yaml | 3 +++ dependencies.yaml | 16 +++++++++++++++- python/pyproject.toml | 2 +- 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 6a0c0050cf..4acaaadafa 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -9,7 +9,7 @@ channels: dependencies: - c-compiler - cmake>=3.26.4 -- cuda-python>=11.7.1,<12.0 +- cuda-python>=11.7.1,<12.0a0 - cuda-version=11.8 - cudatoolkit - cudf==23.8.* diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index 2e3db4c30e..5d0bb33c4e 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -10,8 +10,9 @@ dependencies: - c-compiler - cmake>=3.26.4 - cuda-cudart-dev +- cuda-nvcc=12.0 - cuda-profiler-api -- cuda-python>=11.7.1,<12.0 +- cuda-python>=12.0,<13.0a0 - cuda-version=12.0 - cudf==23.8.* - cupy>=12.0.0 @@ -25,7 +26,9 @@ dependencies: - distributed>=2023.5.1 - doxygen=1.8.20 - gcc_linux-64=11.* +- gmock>=1.13.0 - graphviz +- gtest>=1.13.0 - hdbscan - hypothesis>=6.0,<7 - ipykernel diff --git a/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml b/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml index 0458a3d64f..8417cd41fc 100644 --- a/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml @@ -10,10 +10,13 @@ dependencies: - c-compiler - cmake>=3.26.4 - cuda-cudart-dev +- cuda-nvcc=12.0 - cuda-profiler-api - cuda-version=12.0 - cxx-compiler - gcc_linux-64=11.* +- gmock>=1.13.0 +- gtest>=1.13.0 - libcublas-dev - libcumlprims==23.8.* - libcurand-dev diff --git a/dependencies.yaml b/dependencies.yaml index 518ac7f390..1f8d2f5eee 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -122,11 +122,15 @@ dependencies: cuda: "11.8" packages: - nvcc_linux-aarch64=11.8 + - matrix: + arch: x86_64 + cuda: "12.0" + packages: + - cuda-nvcc=12.0 py_build: common: - output_types: [conda, requirements, pyproject] packages: - - cuda-python>=11.7.1,<12.0 - scikit-build>=0.13.1 - cython>=0.29,<0.30 - &treelite treelite==3.2.0 @@ -137,6 +141,16 @@ dependencies: - wheel - setuptools - &treelite_runtime treelite_runtime==3.2.0 + specific: + - output_types: [conda, requirements, pyproject] + matrices: + - matrix: + cuda: "12.0" + packages: + - &cuda_python12 cuda-python>=12.0,<13.0a0 + - matrix: # All CUDA 11 versions + packages: + - &cuda_python11 cuda-python>=11.7.1,<12.0a0 py_run: common: - output_types: [conda, requirements, pyproject] diff --git a/python/pyproject.toml b/python/pyproject.toml index 63add990ac..90937f79cd 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -15,7 +15,7 @@ [build-system] requires = [ "cmake>=3.26.4", - "cuda-python>=11.7.1,<12.0", + "cuda-python>=11.7.1,<12.0a0", "cython>=0.29,<0.30", "ninja", "pylibraft==23.8.*", From 85960da2171e44d9fb274cd027d5caf95a282ef0 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Tue, 11 Jul 2023 00:26:21 -0500 Subject: [PATCH 31/40] FIX temporarily skip test_sparse_pca_inputs in CUDA 12 --- python/cuml/tests/test_pca.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/python/cuml/tests/test_pca.py b/python/cuml/tests/test_pca.py index 9623293c04..9921a89871 100644 --- a/python/cuml/tests/test_pca.py +++ b/python/cuml/tests/test_pca.py @@ -28,12 +28,17 @@ from cuml import PCA as cuPCA import pytest from cuml.internals.safe_imports import gpu_only_import +from cuml.internals.safe_imports import gpu_only_import_from from cuml.internals.safe_imports import cpu_only_import np = cpu_only_import("numpy") cp = gpu_only_import("cupy") cupyx = gpu_only_import("cupyx") +get_runtime_version = gpu_only_import_from( + "rmm._cuda.gpu", "runtimeGetVersion" +) + @pytest.mark.parametrize("datatype", [np.float32, np.float64]) @pytest.mark.parametrize("input_type", ["ndarray"]) @@ -259,8 +264,8 @@ def test_pca_inverse_transform(datatype, input_type, name, use_handle, nrows): @pytest.mark.skipif( - cp.cuda.driver.get_build_version() <= 11020, - reason="Test failing on driver 11.2", + get_runtime_version() >= 12000, + reason="https://github.com/rapidsai/cuml/issues/5497", ) @pytest.mark.parametrize("nrows", [4000, 8000]) @pytest.mark.parametrize("ncols", [5000, stress_param(20000)]) From f40b7f97ec07d64ffe655c4090606d931020d7db Mon Sep 17 00:00:00 2001 From: viclafargue Date: Tue, 11 Jul 2023 14:16:59 +0200 Subject: [PATCH 32/40] Fix PCA test --- python/cuml/tests/test_pca.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/python/cuml/tests/test_pca.py b/python/cuml/tests/test_pca.py index 9623293c04..65d0e88ab3 100644 --- a/python/cuml/tests/test_pca.py +++ b/python/cuml/tests/test_pca.py @@ -257,13 +257,8 @@ def test_pca_inverse_transform(datatype, input_type, name, use_handle, nrows): cupca.handle.sync() assert array_equal(input_gdf, X, 5e-5, with_sign=True) - -@pytest.mark.skipif( - cp.cuda.driver.get_build_version() <= 11020, - reason="Test failing on driver 11.2", -) -@pytest.mark.parametrize("nrows", [4000, 8000]) -@pytest.mark.parametrize("ncols", [5000, stress_param(20000)]) +@pytest.mark.parametrize("nrows", [4000, 7000]) +@pytest.mark.parametrize("ncols", [2500, stress_param(20000)]) @pytest.mark.parametrize("whiten", [True, False]) @pytest.mark.parametrize("return_sparse", [True, False]) @pytest.mark.parametrize("cupy_input", [True, False]) From 325e9548211ae5990b2c03192d5a77c2ea9292db Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Tue, 11 Jul 2023 08:54:41 -0500 Subject: [PATCH 33/40] FIX Remove not used import --- python/cuml/tests/test_pca.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/python/cuml/tests/test_pca.py b/python/cuml/tests/test_pca.py index 147aa4ff00..10db9a4f7b 100644 --- a/python/cuml/tests/test_pca.py +++ b/python/cuml/tests/test_pca.py @@ -28,17 +28,12 @@ from cuml import PCA as cuPCA import pytest from cuml.internals.safe_imports import gpu_only_import -from cuml.internals.safe_imports import gpu_only_import_from from cuml.internals.safe_imports import cpu_only_import np = cpu_only_import("numpy") cp = gpu_only_import("cupy") cupyx = gpu_only_import("cupyx") -get_runtime_version = gpu_only_import_from( - "rmm._cuda.gpu", "runtimeGetVersion" -) - @pytest.mark.parametrize("datatype", [np.float32, np.float64]) @pytest.mark.parametrize("input_type", ["ndarray"]) From b3cee15da64446110d40422521f2da0c7783452d Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Tue, 11 Jul 2023 18:12:38 -0500 Subject: [PATCH 34/40] Apply suggestions from code review Co-authored-by: Bradley Dice --- conda/recipes/cuml/conda_build_config.yaml | 8 +++----- conda/recipes/libcuml/conda_build_config.yaml | 8 +++----- conda/recipes/libcuml/meta.yaml | 2 +- dependencies.yaml | 4 +++- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/conda/recipes/cuml/conda_build_config.yaml b/conda/recipes/cuml/conda_build_config.yaml index f645f290aa..a9b5c68285 100644 --- a/conda/recipes/cuml/conda_build_config.yaml +++ b/conda/recipes/cuml/conda_build_config.yaml @@ -16,11 +16,9 @@ cmake_version: sysroot_version: - "=2.17" -# CUDA 11 versions - -# 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. cuda11_libcublas_host_version: - "=11.11.3.6" diff --git a/conda/recipes/libcuml/conda_build_config.yaml b/conda/recipes/libcuml/conda_build_config.yaml index 35549c4f97..d5c80deb3e 100644 --- a/conda/recipes/libcuml/conda_build_config.yaml +++ b/conda/recipes/libcuml/conda_build_config.yaml @@ -22,11 +22,9 @@ treelite_version: gtest_version: - ">=1.13.0" -# CUDA 11 versions - -# 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. cuda11_libcublas_host_version: - "=11.11.3.6" diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index a6cb5106ed..c173df0de7 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -50,7 +50,7 @@ requirements: host: - cuda-version ={{ cuda_version }} {% if cuda_major == "11" %} - - cudatoolkit ={{ cuda_version }} + - cudatoolkit - libcublas {{ cuda11_libcublas_host_version }} - libcublas-dev {{ cuda11_libcublas_host_version }} - libcufft {{ cuda11_libcufft_host_version }} diff --git a/dependencies.yaml b/dependencies.yaml index 1f8d2f5eee..55f88d5fd1 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -126,7 +126,8 @@ dependencies: arch: x86_64 cuda: "12.0" packages: - - cuda-nvcc=12.0 + - cuda-nvcc + - cuda-version=12.0 py_build: common: - output_types: [conda, requirements, pyproject] @@ -200,6 +201,7 @@ dependencies: - cuda-cudart-dev - cuda-profiler-api - libcublas-dev + - libcufft-dev - libcurand-dev - libcusolver-dev - libcusparse-dev From e107588821f28e54584b52a10055e6b2da0bf48c Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Tue, 11 Jul 2023 18:20:22 -0500 Subject: [PATCH 35/40] FIX remove dev packages from run reqs of libcuml --- conda/recipes/libcuml/meta.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index c173df0de7..d35767a2c6 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -96,14 +96,11 @@ outputs: {% if cuda_major == "11" %} - cudatoolkit - libcublas {{ cuda11_libcublas_run_version }} - - libcublas-dev {{ cuda11_libcublas_run_version }} - libcufft {{ cuda11_libcufft_run_version }} - libcurand {{ cuda11_libcurand_run_version }} - libcusparse {{ cuda11_libcusparse_run_version }} - - libcusparse-dev {{ cuda11_libcusparse_run_version }} {% else %} - - cuda-cudart-dev - - libcublas-dev + - libcublas - libcufft - libcurand - libcusparse From b1861294eb26d569fb1fd4c761b7ee834bdb4952 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Tue, 11 Jul 2023 18:46:54 -0500 Subject: [PATCH 36/40] FIX forgot to run rdfg --- conda/environments/all_cuda-120_arch-x86_64.yaml | 3 ++- conda/environments/cpp_all_cuda-120_arch-x86_64.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index 5d0bb33c4e..13d581d29c 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -10,7 +10,7 @@ dependencies: - c-compiler - cmake>=3.26.4 - cuda-cudart-dev -- cuda-nvcc=12.0 +- cuda-nvcc - cuda-profiler-api - cuda-python>=12.0,<13.0a0 - cuda-version=12.0 @@ -35,6 +35,7 @@ dependencies: - ipython - joblib>=0.11 - libcublas-dev +- libcufft-dev - libcumlprims==23.8.* - libcurand-dev - libcusolver-dev diff --git a/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml b/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml index 8417cd41fc..4ab81103e5 100644 --- a/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/cpp_all_cuda-120_arch-x86_64.yaml @@ -10,7 +10,7 @@ dependencies: - c-compiler - cmake>=3.26.4 - cuda-cudart-dev -- cuda-nvcc=12.0 +- cuda-nvcc - cuda-profiler-api - cuda-version=12.0 - cxx-compiler @@ -18,6 +18,7 @@ dependencies: - gmock>=1.13.0 - gtest>=1.13.0 - libcublas-dev +- libcufft-dev - libcumlprims==23.8.* - libcurand-dev - libcusolver-dev From 94995c107fe9ee3f0ecc4d465698a902143f478d Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Wed, 12 Jul 2023 14:41:08 -0500 Subject: [PATCH 37/40] Update conda/recipes/libcuml/meta.yaml Co-authored-by: Vyas Ramasubramani --- conda/recipes/libcuml/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index d35767a2c6..7d5e15a102 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -69,7 +69,7 @@ requirements: - libcusolver-dev - libcusparse-dev {% endif %} - - gmock + - gmock {{ gtest_version }} - gtest {{ gtest_version }} - libcumlprims ={{ minor_version }} - libraft ={{ minor_version }} From a301e01b3b50b958ba0a2b37887162c9a876350a Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Wed, 12 Jul 2023 14:46:04 -0500 Subject: [PATCH 38/40] DBG remove dev ctk packages from cuml host --- conda/recipes/cuml/meta.yaml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/conda/recipes/cuml/meta.yaml b/conda/recipes/cuml/meta.yaml index dc3fd85e17..26fbc63ce4 100644 --- a/conda/recipes/cuml/meta.yaml +++ b/conda/recipes/cuml/meta.yaml @@ -56,19 +56,15 @@ requirements: - cuda-python ==11.7.1 - cudatoolkit - libcublas {{ cuda11_libcublas_host_version }} - - libcublas-dev {{ cuda11_libcublas_host_version }} - libcurand {{ cuda11_libcurand_host_version }} - - libcurand-dev {{ cuda11_libcurand_host_version }} - libcusolver {{ cuda11_libcusolver_host_version }} - - libcusolver-dev {{ cuda11_libcusolver_host_version }} - libcusparse {{ cuda11_libcusparse_host_version }} - - libcusparse-dev {{ cuda11_libcusparse_host_version }} {% else %} - cuda-python ==12.0.0 - - libcublas-dev - - libcurand-dev - - libcusolver-dev - - libcusparse-dev + - libcublas + - libcurand + - libcusolver + - libcusparse {% endif %} - cudf ={{ minor_version }} - cython >=0.29,<0.30 From fe2799169524d63add18cbe8b03d081eab5a038a Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Wed, 12 Jul 2023 22:56:30 -0500 Subject: [PATCH 39/40] Apply suggestions from code review Co-authored-by: Bradley Dice --- conda/recipes/libcuml/meta.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conda/recipes/libcuml/meta.yaml b/conda/recipes/libcuml/meta.yaml index 7d5e15a102..34d3521869 100644 --- a/conda/recipes/libcuml/meta.yaml +++ b/conda/recipes/libcuml/meta.yaml @@ -91,6 +91,8 @@ outputs: requirements: build: - cmake {{ cmake_version }} + host: + - cuda-version ={{ cuda_version }} run: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} @@ -98,11 +100,13 @@ outputs: - libcublas {{ cuda11_libcublas_run_version }} - libcufft {{ cuda11_libcufft_run_version }} - libcurand {{ cuda11_libcurand_run_version }} + - libcusolver {{ cuda11_libcusolver_run_version }} - libcusparse {{ cuda11_libcusparse_run_version }} {% else %} - libcublas - libcufft - libcurand + - libcusolver - libcusparse {% endif %} - libcumlprims ={{ minor_version }} From 7ce78b4b1afcb11ad5bb0e1196e31909fb623436 Mon Sep 17 00:00:00 2001 From: Dante Gama Dessavre Date: Wed, 12 Jul 2023 22:58:31 -0500 Subject: [PATCH 40/40] DBG remove cuda libraries from cuml host in recipe --- conda/recipes/cuml/conda_build_config.yaml | 16 ---------------- conda/recipes/cuml/meta.yaml | 8 -------- 2 files changed, 24 deletions(-) diff --git a/conda/recipes/cuml/conda_build_config.yaml b/conda/recipes/cuml/conda_build_config.yaml index a9b5c68285..6c0db7e7cb 100644 --- a/conda/recipes/cuml/conda_build_config.yaml +++ b/conda/recipes/cuml/conda_build_config.yaml @@ -16,21 +16,5 @@ cmake_version: sysroot_version: - "=2.17" -# 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. - -cuda11_libcublas_host_version: - - "=11.11.3.6" - -cuda11_libcurand_host_version: - - "=10.3.0.86" - -cuda11_libcusolver_host_version: - - "=11.4.1.48" - -cuda11_libcusparse_host_version: - - "=11.7.5.86" - treelite_version: - "=3.2.0" diff --git a/conda/recipes/cuml/meta.yaml b/conda/recipes/cuml/meta.yaml index 26fbc63ce4..438f4b74e9 100644 --- a/conda/recipes/cuml/meta.yaml +++ b/conda/recipes/cuml/meta.yaml @@ -55,16 +55,8 @@ requirements: {% if cuda_major == "11" %} - cuda-python ==11.7.1 - cudatoolkit - - libcublas {{ cuda11_libcublas_host_version }} - - libcurand {{ cuda11_libcurand_host_version }} - - libcusolver {{ cuda11_libcusolver_host_version }} - - libcusparse {{ cuda11_libcusparse_host_version }} {% else %} - cuda-python ==12.0.0 - - libcublas - - libcurand - - libcusolver - - libcusparse {% endif %} - cudf ={{ minor_version }} - cython >=0.29,<0.30