From 3d57a76bcc0cfb6ff7aaa7524d0912f0fc0fcc25 Mon Sep 17 00:00:00 2001 From: Ray Douglass Date: Thu, 18 Jan 2024 15:05:55 -0500 Subject: [PATCH 01/17] DOC v24.04 Updates [skip ci] --- .github/workflows/build.yaml | 12 ++++++------ .github/workflows/pr.yaml | 16 ++++++++-------- .github/workflows/test.yaml | 4 ++-- README.md | 2 +- VERSION | 2 +- ci/build_docs.sh | 2 +- cucim.code-workspace | 8 ++++---- docs/source/conf.py | 4 ++-- python/cucim/pyproject.toml | 2 +- 9 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0ba4825e9..c86856daa 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -38,7 +38,7 @@ jobs: if: github.ref_type == 'branch' needs: [python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -51,7 +51,7 @@ jobs: python-build: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -60,7 +60,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -68,7 +68,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -78,7 +78,7 @@ jobs: wheel-publish: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 7d22e56a2..f580782b8 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -20,32 +20,32 @@ jobs: - wheel-build - wheel-tests secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.04 checks: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.04 conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04 with: build_type: pull-request conda-python-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04 with: build_type: pull-request conda-python-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04 with: build_type: pull-request docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04 with: build_type: pull-request node_type: "gpu-v100-latest-1" @@ -55,14 +55,14 @@ jobs: wheel-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04 with: build_type: pull-request script: ci/build_wheel.sh wheel-tests: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04 with: build_type: pull-request script: ci/test_wheel.sh diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6f55ce705..9048da8d8 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: conda-python-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04 with: build_type: nightly branch: ${{ inputs.branch }} @@ -24,7 +24,7 @@ jobs: sha: ${{ inputs.sha }} wheel-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.02 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04 with: build_type: nightly branch: ${{ inputs.branch }} diff --git a/README.md b/README.md index 27a5d7fbb..ce53ee20c 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ pip install scipy scikit-image cupy-cuda110 ### Notebooks -Please check out our [Welcome](notebooks/Welcome.ipynb) notebook ([NBViewer](https://nbviewer.jupyter.org/github/rapidsai/cucim/blob/branch-24.02/notebooks/Welcome.ipynb)) +Please check out our [Welcome](notebooks/Welcome.ipynb) notebook ([NBViewer](https://nbviewer.jupyter.org/github/rapidsai/cucim/blob/branch-24.04/notebooks/Welcome.ipynb)) #### Downloading sample images diff --git a/VERSION b/VERSION index 3c6c5e2b7..4a2fe8aa5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -24.02.00 +24.04.00 diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 0df71c729..164a6e810 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -24,7 +24,7 @@ rapids-mamba-retry install \ --channel "${PYTHON_CHANNEL}" \ cucim libcucim -export RAPIDS_VERSION_NUMBER="24.02" +export RAPIDS_VERSION_NUMBER="24.04" export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-logger "Build Python docs" diff --git a/cucim.code-workspace b/cucim.code-workspace index 000fd7483..a1da8399c 100644 --- a/cucim.code-workspace +++ b/cucim.code-workspace @@ -33,7 +33,7 @@ "CUCIM_TESTDATA_FOLDER": "${workspaceDirectory}/test_data", // Add cuslide plugin's library path to LD_LIBRARY_PATH "LD_LIBRARY_PATH": "${workspaceDirectory}/build-debug/lib:${workspaceDirectory}/cpp/plugins/cucim.kit.cuslide/build-debug/lib:${workspaceDirectory}/temp/cuda/lib64:${os_env:LD_LIBRARY_PATH}", - "CUCIM_TEST_PLUGIN_PATH": "cucim.kit.cuslide@24.02.00.so" + "CUCIM_TEST_PLUGIN_PATH": "cucim.kit.cuslide@24.04.00.so" }, "cwd": "${workspaceDirectory}", "catch2": { @@ -226,7 +226,7 @@ }, { "name": "CUCIM_TEST_PLUGIN_PATH", - "value": "cucim.kit.cuslide@24.02.00.so" + "value": "cucim.kit.cuslide@24.04.00.so" } ], "console": "externalTerminal", @@ -254,7 +254,7 @@ }, { "name": "CUCIM_TEST_PLUGIN_PATH", - "value": "cucim.kit.cuslide@24.02.00.so" + "value": "cucim.kit.cuslide@24.04.00.so" } ], "console": "externalTerminal", @@ -286,7 +286,7 @@ }, { "name": "CUCIM_TEST_PLUGIN_PATH", - "value": "cucim.kit.cuslide@24.02.00.so" + "value": "cucim.kit.cuslide@24.04.00.so" } ], "console": "externalTerminal", diff --git a/docs/source/conf.py b/docs/source/conf.py index 572312f8e..9171bc9cc 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -72,9 +72,9 @@ # built documents. # # The short X.Y version. -version = "24.02" +version = "24.04" # The full version, including alpha/beta/rc tags. -release = "24.02.00" +release = "24.04.00" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/python/cucim/pyproject.toml b/python/cucim/pyproject.toml index 7af428bd4..92055ac5e 100644 --- a/python/cucim/pyproject.toml +++ b/python/cucim/pyproject.toml @@ -54,7 +54,7 @@ classifiers = [ [project.urls] Homepage = "https://developer.nvidia.com/multidimensional-image-processing" Documentation = "https://docs.rapids.ai/api/cucim/stable/" -Changelog = "https://github.com/rapidsai/cucim/blob/branch-24.02/CHANGELOG.md" +Changelog = "https://github.com/rapidsai/cucim/blob/branch-24.04/CHANGELOG.md" Source = "https://github.com/rapidsai/cucim" Tracker = "https://github.com/rapidsai/cucim/issues" From 4322ad7389af4be1584ec2a2fd9b805e807c4e61 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Tue, 30 Jan 2024 10:56:15 -0800 Subject: [PATCH 02/17] Re-run `ci/release/update-version.sh 24.04.00` (#690) Cherry-picks commit ( https://github.com/rapidsai/cucim/commit/e075700473260e53f7765ed6016b876b1b1146bb ), which reruns the `ci/release/update-version.sh` script with `24.04.00` to update the version in one more place. Authors: - https://github.com/jakirkham - Bradley Dice (https://github.com/bdice) Approvers: - Jake Awe (https://github.com/AyodeAwe) URL: https://github.com/rapidsai/cucim/pull/690 --- ci/test_python.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/test_python.sh b/ci/test_python.sh index 3739acf2e..1de0fb135 100755 --- a/ci/test_python.sh +++ b/ci/test_python.sh @@ -7,7 +7,7 @@ set -euo pipefail . /opt/conda/etc/profile.d/conda.sh -export RAPIDS_VERSION_NUMBER="24.02" +export RAPIDS_VERSION_NUMBER="24.04" rapids-logger "Generate Python testing dependencies" rapids-dependency-file-generator \ From 9d6fc914d8770b400b395a9739ad267fb38e5e6e Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 30 Jan 2024 15:25:32 -0600 Subject: [PATCH 03/17] add rapids-dependency-file-generator pre-commmit hook (#682) Proposes adding a pre-commit hook to run `rapids-dependency-file-generator`. With that change, local `pre-commit` and CI will raise an error if changes have been made in `dependencies.yaml` that would affect any other files checked into the repo, like the conda envs in https://github.com/rapidsai/cucim/tree/branch-24.02/conda/environments. ### How I tested this Changed a `cmake` version constraint in `dependencies.yaml`. Ran `pre-commit run --all-files`. Observed the expected failure. image Reverted that change, ran `pre-commit run --all-files` again, saw everything pass. Authors: - James Lamb (https://github.com/jameslamb) - https://github.com/jakirkham Approvers: - https://github.com/jakirkham - Bradley Dice (https://github.com/bdice) - Ray Douglass (https://github.com/raydouglass) - Gregory Lee (https://github.com/grlee77) URL: https://github.com/rapidsai/cucim/pull/682 --- .pre-commit-config.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e12e83ae3..bfffa3dca 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -28,3 +28,8 @@ repos: args: ["--toml", "python/cucim/pyproject.toml"] additional_dependencies: - tomli + - repo: https://github.com/rapidsai/dependency-file-generator + rev: v1.8.0 + hooks: + - id: rapids-dependency-file-generator + args: ["--clean"] From d4ec01eb53afceaaeec36856e1dcbf2c282659d0 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Mon, 5 Feb 2024 12:46:11 -0800 Subject: [PATCH 04/17] Fix `popd` indent in `run` (#693) This was added in PR ( https://github.com/rapidsai/cucim/pull/683 ), but it looks like the indentation was wrong. This corrects that. Behavior should be the same in either case. Just makes the intent clearer by improving readability. Authors: - https://github.com/jakirkham Approvers: - Gregory Lee (https://github.com/grlee77) URL: https://github.com/rapidsai/cucim/pull/693 --- run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run b/run index c8bec742e..3a8693531 100755 --- a/run +++ b/run @@ -614,7 +614,7 @@ install_python_test_deps_() { else run_command pip3 install --user -e .[test] fi - popd + popd fi hash -r } From b0cdce1a42e699fc4e0e0381ace8928bcac5d5b4 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 9 Feb 2024 16:36:50 -0600 Subject: [PATCH 05/17] Support CUDA 12.2 (#672) * switches to CUDA 12.2.2 for building conda packages and wheels * adds new tests running against CUDA 12.2.2 * removes some unnecessary `cuda-version={major}.{minor}` stuff in `dependencies.yaml` that was missed in #671 ### Notes for Reviewers This is part of ongoing work to build and test packages against CUDA 12.2.2 across all of RAPIDS. For more details see: * https://github.com/rapidsai/build-planning/issues/7 * https://github.com/rapidsai/shared-workflows/pull/166 Planning a second round of PRs to revert these references back to a proper `branch-24.{nn}` release branch of `shared-workflows` once https://github.com/rapidsai/shared-workflows/pull/166 is merged. *(created with `rapids-reviser`)* Authors: - James Lamb (https://github.com/jameslamb) - https://github.com/jakirkham - Bradley Dice (https://github.com/bdice) Approvers: - Jake Awe (https://github.com/AyodeAwe) - Bradley Dice (https://github.com/bdice) - https://github.com/jakirkham URL: https://github.com/rapidsai/cucim/pull/672 --- .github/workflows/build.yaml | 12 ++++++------ .github/workflows/pr.yaml | 16 ++++++++-------- .github/workflows/test.yaml | 4 ++-- ...x86_64.yaml => all_cuda-122_arch-x86_64.yaml} | 4 ++-- conda/recipes/cucim/meta.yaml | 9 +++++++++ conda/recipes/libcucim/meta.yaml | 12 +++++++++++- dependencies.yaml | 11 ++++++----- 7 files changed, 44 insertions(+), 24 deletions(-) rename conda/environments/{all_cuda-120_arch-x86_64.yaml => all_cuda-122_arch-x86_64.yaml} (95%) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c86856daa..27556c26d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@test-cuda-12.2 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -38,7 +38,7 @@ jobs: if: github.ref_type == 'branch' needs: [python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-cuda-12.2 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -51,7 +51,7 @@ jobs: python-build: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@test-cuda-12.2 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -60,7 +60,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@test-cuda-12.2 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -68,7 +68,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-cuda-12.2 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -78,7 +78,7 @@ jobs: wheel-publish: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@test-cuda-12.2 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index f580782b8..5bfa1a543 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -20,32 +20,32 @@ jobs: - wheel-build - wheel-tests secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@test-cuda-12.2 checks: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@test-cuda-12.2 conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@test-cuda-12.2 with: build_type: pull-request conda-python-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@test-cuda-12.2 with: build_type: pull-request conda-python-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@test-cuda-12.2 with: build_type: pull-request docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-cuda-12.2 with: build_type: pull-request node_type: "gpu-v100-latest-1" @@ -55,14 +55,14 @@ jobs: wheel-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-cuda-12.2 with: build_type: pull-request script: ci/build_wheel.sh wheel-tests: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-cuda-12.2 with: build_type: pull-request script: ci/test_wheel.sh diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 9048da8d8..5d7ec87b2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: conda-python-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@test-cuda-12.2 with: build_type: nightly branch: ${{ inputs.branch }} @@ -24,7 +24,7 @@ jobs: sha: ${{ inputs.sha }} wheel-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-cuda-12.2 with: build_type: nightly branch: ${{ inputs.branch }} diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-122_arch-x86_64.yaml similarity index 95% rename from conda/environments/all_cuda-120_arch-x86_64.yaml rename to conda/environments/all_cuda-122_arch-x86_64.yaml index 0f25face9..fb6453a6c 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-122_arch-x86_64.yaml @@ -12,7 +12,7 @@ dependencies: - cmake>=3.23.1,!=3.25.0 - cuda-cudart-dev - cuda-nvcc -- cuda-version=12.0 +- cuda-version=12.2 - cupy>=12.0.0 - cxx-compiler - gcc_linux-64=11.* @@ -53,4 +53,4 @@ dependencies: - zstd - pip: - opencv-python-headless>=4.6 -name: all_cuda-120_arch-x86_64 +name: all_cuda-122_arch-x86_64 diff --git a/conda/recipes/cucim/meta.yaml b/conda/recipes/cucim/meta.yaml index 47606ab77..04a94830a 100644 --- a/conda/recipes/cucim/meta.yaml +++ b/conda/recipes/cucim/meta.yaml @@ -20,6 +20,9 @@ build: ignore_run_exports_from: {% if cuda_major == "11" %} - {{ compiler('cuda11') }} + {% else %} + - {{ compiler('cuda') }} + - cuda-cudart-dev {% endif %} script_env: - AWS_ACCESS_KEY_ID @@ -55,6 +58,9 @@ requirements: host: - click - cuda-version ={{ cuda_version }} + {% if cuda_major != "11" %} + - cuda-cudart-dev + {% endif %} - cupy >=12.0.0 - libcucim ={{ version }} - numpy 1.21 @@ -63,6 +69,9 @@ requirements: - scipy run: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} + {% if cuda_major != "11" %} + - cuda-cudart + {% endif %} - {{ pin_compatible('numpy') }} - click - cupy >=12.0.0 diff --git a/conda/recipes/libcucim/meta.yaml b/conda/recipes/libcucim/meta.yaml index bd591c9e2..e2a9b2c78 100644 --- a/conda/recipes/libcucim/meta.yaml +++ b/conda/recipes/libcucim/meta.yaml @@ -22,6 +22,11 @@ build: ignore_run_exports_from: {% if cuda_major == "11" %} - {{ compiler('cuda11') }} + {% else %} + - {{ compiler('cuda') }} + - cuda-cudart-dev + - libcufile-dev # [linux64] + - libnvjpeg-dev {% endif %} script_env: - AWS_ACCESS_KEY_ID @@ -64,6 +69,7 @@ requirements: - libnvjpeg {{ cuda11_libnvjpeg_host_version }} - libnvjpeg-dev {{ cuda11_libnvjpeg_host_version }} {% else %} + - cuda-cudart-dev - libcufile-dev # [linux64] - libnvjpeg-dev - libnvjpeg-static @@ -79,7 +85,11 @@ requirements: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} - cudatoolkit - - libcufile {{ cuda11_libcufile_run_version }} # [linux64] + - libcufile {{ cuda11_libcufile_run_version }} # [linux64] + {% else %} + - cuda-cudart + - libcufile # [linux64] + - libnvjpeg {% endif %} - {{ pin_compatible('libwebp-base', max_pin='x.x') }} - jbig diff --git a/dependencies.yaml b/dependencies.yaml index 33f7c6a67..4116d3230 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,7 +3,7 @@ files: all: output: conda matrix: - cuda: ["11.8", "12.0"] + cuda: ["11.8", "12.2"] arch: [x86_64] includes: - build @@ -114,7 +114,6 @@ dependencies: arch: x86_64 cuda: "11.8" packages: - - cuda-version=11.8 - nvcc_linux-64=11.8 - libcufile=1.4.0.31 - libcufile-dev=1.4.0.31 @@ -124,14 +123,12 @@ dependencies: arch: aarch64 cuda: "11.8" packages: - - cuda-version=11.8 - nvcc_linux-aarch64=11.8 - libnvjpeg=11.6.0.55 - libnvjpeg-dev=11.6.0.55 - matrix: - cuda: "12.0" + cuda: "12.*" packages: - - cuda-version=12.0 - cuda-nvcc - libcufile-dev - libnvjpeg-dev @@ -165,6 +162,10 @@ dependencies: cuda: "12.0" packages: - cuda-version=12.0 + - matrix: + cuda: "12.2" + packages: + - cuda-version=12.2 cuda: specific: - output_types: conda From 846577ac0e59c5644970b8fe90583ed010d63b24 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 9 Feb 2024 18:07:23 -0600 Subject: [PATCH 06/17] Refactor CUDA libraries in dependencies.yaml (#699) Follow-up from #672. This fixes an issue where libcufile-dev could be included in aarch64 environments (this path was never called in CI so it wasn't a huge problem). I also fixed some duplication in dependencies.yaml. The CUDA compilers (for 11 and 12) are now included in the `build` dependency list, and all CUDA libraries are included in the `cuda` dependency list. As before, the CUDA version is constrained by the `cuda_version` dependency list. This is more aligned with how cudf's dependency list is structured. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Jake Awe (https://github.com/AyodeAwe) - https://github.com/jakirkham URL: https://github.com/rapidsai/cucim/pull/699 --- dependencies.yaml | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 4116d3230..2c9159c50 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -115,24 +115,15 @@ dependencies: cuda: "11.8" packages: - nvcc_linux-64=11.8 - - libcufile=1.4.0.31 - - libcufile-dev=1.4.0.31 - - libnvjpeg=11.6.0.55 - - libnvjpeg-dev=11.6.0.55 - matrix: arch: aarch64 cuda: "11.8" packages: - nvcc_linux-aarch64=11.8 - - libnvjpeg=11.6.0.55 - - libnvjpeg-dev=11.6.0.55 - matrix: cuda: "12.*" packages: - cuda-nvcc - - libcufile-dev - - libnvjpeg-dev - - libnvjpeg-static checks: common: - output_types: [conda, requirements] @@ -178,7 +169,33 @@ dependencies: cuda: "12.*" packages: - cuda-cudart-dev + - output_types: conda + matrices: + - matrix: + cuda: "11.8" + packages: + - libnvjpeg=11.6.0.55 + - libnvjpeg-dev=11.6.0.55 + - matrix: + cuda: "12.*" + packages: - libnvjpeg-dev + - libnvjpeg-static + - output_types: conda + matrices: + - matrix: + arch: aarch64 + packages: + - matrix: + arch: x86_64 + cuda: "11.8" + packages: + - libcufile=1.4.0.31 + - libcufile-dev=1.4.0.31 + - matrix: + arch: x86_64 + cuda: "12.*" + packages: - libcufile-dev develop: common: From e5d1eaf39532ecc190336528a16d14f565167956 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 20 Feb 2024 12:17:23 -0600 Subject: [PATCH 07/17] target branch-24.04 for GitHub Actions workflows (#702) Follow-up to #672 For all GitHub Actions configs, replaces uses of the `test-cuda-12.2` branch on `shared-workflows` with `branch-24.04`, now that https://github.com/rapidsai/shared-workflows/pull/166 has been merged. ### Notes for Reviewers This is part of ongoing work to build and test packages against CUDA 12.2 across all of RAPIDS. For more details see: * https://github.com/rapidsai/build-planning/issues/7 *(created with `rapids-reviser`)* Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Ray Douglass (https://github.com/raydouglass) URL: https://github.com/rapidsai/cucim/pull/702 --- .github/workflows/build.yaml | 12 ++++++------ .github/workflows/pr.yaml | 16 ++++++++-------- .github/workflows/test.yaml | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 27556c26d..c86856daa 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -38,7 +38,7 @@ jobs: if: github.ref_type == 'branch' needs: [python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -51,7 +51,7 @@ jobs: python-build: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -60,7 +60,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -68,7 +68,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -78,7 +78,7 @@ jobs: wheel-publish: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.04 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 5bfa1a543..f580782b8 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -20,32 +20,32 @@ jobs: - wheel-build - wheel-tests secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.04 checks: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.04 conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04 with: build_type: pull-request conda-python-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04 with: build_type: pull-request conda-python-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04 with: build_type: pull-request docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04 with: build_type: pull-request node_type: "gpu-v100-latest-1" @@ -55,14 +55,14 @@ jobs: wheel-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04 with: build_type: pull-request script: ci/build_wheel.sh wheel-tests: needs: wheel-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04 with: build_type: pull-request script: ci/test_wheel.sh diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 5d7ec87b2..9048da8d8 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: conda-python-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04 with: build_type: nightly branch: ${{ inputs.branch }} @@ -24,7 +24,7 @@ jobs: sha: ${{ inputs.sha }} wheel-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@test-cuda-12.2 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04 with: build_type: nightly branch: ${{ inputs.branch }} From 47e0f74ce5299f5ac07ddfb4a506619f1026c734 Mon Sep 17 00:00:00 2001 From: Jake Awe <50372925+AyodeAwe@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:40:57 -0600 Subject: [PATCH 08/17] updating ops-bot.yaml (#694) --- .github/ops-bot.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ops-bot.yaml b/.github/ops-bot.yaml index fc90c22b9..c0b4b1f15 100644 --- a/.github/ops-bot.yaml +++ b/.github/ops-bot.yaml @@ -7,3 +7,4 @@ label_checker: true release_drafter: true external_contributors: false recently_updated: true +forward_merger: true From f4b58c739da6b116884b5ed08c9f34a62e77f8fc Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 28 Feb 2024 17:06:07 -0600 Subject: [PATCH 09/17] Add support for Python 3.11, require NumPy 1.23+ (#704) Contributes to https://github.com/rapidsai/build-planning/issues/3 This PR adds support for Python 3.11. It also bumps uses of `NumPy` to `numpy>=1.23`, see https://github.com/rapidsai/build-planning/issues/3#issuecomment-1967952280. ## Notes for Reviewers This is part of ongoing work to add Python 3.11 support across RAPIDS. The Python 3.11 CI workflows introduced in https://github.com/rapidsai/shared-workflows/pull/176 are *optional*... they are not yet required to run successfully for PRs to be merged. This PR can be merged once all jobs are running successfully (including the non-required jobs for Python 3.11). The CI logs should be verified that the jobs are building and testing with Python 3.11. See https://github.com/rapidsai/shared-workflows/pull/176 for more details. Authors: - James Lamb (https://github.com/jameslamb) - Kyle Edwards (https://github.com/KyleFromNVIDIA) Approvers: - Jake Awe (https://github.com/AyodeAwe) - https://github.com/jakirkham URL: https://github.com/rapidsai/cucim/pull/704 --- benchmarks/skimage/_image_bench.py | 1 - benchmarks/skimage/bench_convolve.py | 3 +-- benchmarks/skimage/cucim_color_bench.py | 5 ++--- benchmarks/skimage/cucim_exposure_bench.py | 5 ++--- benchmarks/skimage/cucim_feature_bench.py | 7 +++---- benchmarks/skimage/cucim_filters_bench.py | 5 ++--- benchmarks/skimage/cucim_measure_bench.py | 5 ++--- benchmarks/skimage/cucim_metrics_bench.py | 5 ++--- benchmarks/skimage/cucim_morphology_bench.py | 5 ++--- benchmarks/skimage/cucim_registration_bench.py | 5 ++--- benchmarks/skimage/cucim_restoration_bench.py | 7 +++---- benchmarks/skimage/cucim_segmentation_bench.py | 3 +-- benchmarks/skimage/cucim_transform_bench.py | 5 ++--- ci/wheel_smoke_test.py | 4 +--- conda/environments/all_cuda-118_arch-x86_64.yaml | 4 ++-- conda/environments/all_cuda-122_arch-x86_64.yaml | 4 ++-- conda/recipes/cucim/meta.yaml | 2 +- dependencies.yaml | 8 ++++++-- examples/python/distance_transform_edt_demo.py | 3 +-- examples/python/gds_whole_slide/benchmark_round_trip.py | 5 ++--- examples/python/gds_whole_slide/benchmark_zarr_write.py | 3 +-- examples/python/gds_whole_slide/demo_implementation.py | 3 +-- examples/python/tiff_image/main.py | 3 +-- experiments/Supporting_Aperio_SVS_Format/benchmark.py | 3 +-- experiments/Using_Cache/benchmark.py | 3 +-- 25 files changed, 44 insertions(+), 62 deletions(-) diff --git a/benchmarks/skimage/_image_bench.py b/benchmarks/skimage/_image_bench.py index 9d55c6be0..abb2ffbbb 100644 --- a/benchmarks/skimage/_image_bench.py +++ b/benchmarks/skimage/_image_bench.py @@ -12,7 +12,6 @@ import pandas as pd import scipy.ndimage import skimage.data - from cucim.time import repeat diff --git a/benchmarks/skimage/bench_convolve.py b/benchmarks/skimage/bench_convolve.py index f44714306..a43636931 100644 --- a/benchmarks/skimage/bench_convolve.py +++ b/benchmarks/skimage/bench_convolve.py @@ -3,8 +3,6 @@ """ import cupy as cp import cupyx.scipy.ndimage as ndi -from cupyx.profiler import benchmark - from cucim.skimage._vendored.ndimage import ( # noqa: F401 convolve1d, correlate1d, @@ -18,6 +16,7 @@ uniform_filter, uniform_filter1d, ) +from cupyx.profiler import benchmark d = cp.cuda.Device() diff --git a/benchmarks/skimage/cucim_color_bench.py b/benchmarks/skimage/cucim_color_bench.py index b9886d2b8..8f394daef 100644 --- a/benchmarks/skimage/cucim_color_bench.py +++ b/benchmarks/skimage/cucim_color_bench.py @@ -2,6 +2,8 @@ import os import pickle +import cucim.skimage +import cucim.skimage.color import cupy import cupy as cp import cupyx.scipy.ndimage @@ -12,9 +14,6 @@ import skimage.color from _image_bench import ImageBench -import cucim.skimage -import cucim.skimage.color - func_name_choices = [ "convert_colorspace", "rgb2hed", diff --git a/benchmarks/skimage/cucim_exposure_bench.py b/benchmarks/skimage/cucim_exposure_bench.py index 317c4efe6..558a2282f 100644 --- a/benchmarks/skimage/cucim_exposure_bench.py +++ b/benchmarks/skimage/cucim_exposure_bench.py @@ -2,6 +2,8 @@ import os import pickle +import cucim.skimage +import cucim.skimage.exposure import cupy import cupy as cp import numpy as np @@ -10,9 +12,6 @@ import skimage.exposure from _image_bench import ImageBench -import cucim.skimage -import cucim.skimage.exposure - class ExposureBench(ImageBench): def set_args(self, dtype): diff --git a/benchmarks/skimage/cucim_feature_bench.py b/benchmarks/skimage/cucim_feature_bench.py index b390f02e6..4142d7965 100644 --- a/benchmarks/skimage/cucim_feature_bench.py +++ b/benchmarks/skimage/cucim_feature_bench.py @@ -3,17 +3,16 @@ import os import pickle +import cucim.skimage +import cucim.skimage.feature import cupy as cp import numpy as np import pandas as pd import skimage import skimage.feature from _image_bench import ImageBench -from skimage import data, draw - -import cucim.skimage -import cucim.skimage.feature from cucim.skimage import exposure +from skimage import data, draw class BlobDetectionBench(ImageBench): diff --git a/benchmarks/skimage/cucim_filters_bench.py b/benchmarks/skimage/cucim_filters_bench.py index 9dcbf2867..09a47e346 100644 --- a/benchmarks/skimage/cucim_filters_bench.py +++ b/benchmarks/skimage/cucim_filters_bench.py @@ -2,15 +2,14 @@ import os import pickle +import cucim.skimage +import cucim.skimage.filters import numpy as np import pandas as pd import skimage import skimage.filters from _image_bench import ImageBench -import cucim.skimage -import cucim.skimage.filters - def main(args): pfile = "cucim_filters_results.pickle" diff --git a/benchmarks/skimage/cucim_measure_bench.py b/benchmarks/skimage/cucim_measure_bench.py index 15ec470ce..e7e7b40df 100644 --- a/benchmarks/skimage/cucim_measure_bench.py +++ b/benchmarks/skimage/cucim_measure_bench.py @@ -3,6 +3,8 @@ import os import pickle +import cucim.skimage +import cucim.skimage.measure import cupy as cp import numpy as np import pandas as pd @@ -11,9 +13,6 @@ from _image_bench import ImageBench from cucim_metrics_bench import MetricsBench -import cucim.skimage -import cucim.skimage.measure - class LabelBench(ImageBench): def __init__( diff --git a/benchmarks/skimage/cucim_metrics_bench.py b/benchmarks/skimage/cucim_metrics_bench.py index 8ac43a086..585dd7be8 100644 --- a/benchmarks/skimage/cucim_metrics_bench.py +++ b/benchmarks/skimage/cucim_metrics_bench.py @@ -2,15 +2,14 @@ import os import pickle +import cucim.skimage +import cucim.skimage.metrics import cupy as cp import numpy as np import pandas as pd import skimage import skimage.metrics from _image_bench import ImageBench - -import cucim.skimage -import cucim.skimage.metrics from cucim.skimage import data, measure diff --git a/benchmarks/skimage/cucim_morphology_bench.py b/benchmarks/skimage/cucim_morphology_bench.py index 47658e502..aeab0e142 100644 --- a/benchmarks/skimage/cucim_morphology_bench.py +++ b/benchmarks/skimage/cucim_morphology_bench.py @@ -6,6 +6,8 @@ import os import pickle +import cucim.skimage +import cucim.skimage.morphology import cupy as cp import numpy as np import pandas as pd @@ -15,9 +17,6 @@ import skimage.morphology from _image_bench import ImageBench -import cucim.skimage -import cucim.skimage.morphology - class BinaryMorphologyBench(ImageBench): def __init__( diff --git a/benchmarks/skimage/cucim_registration_bench.py b/benchmarks/skimage/cucim_registration_bench.py index 86070ecb5..be5b94594 100644 --- a/benchmarks/skimage/cucim_registration_bench.py +++ b/benchmarks/skimage/cucim_registration_bench.py @@ -3,6 +3,8 @@ import os import pickle +import cucim.skimage +import cucim.skimage.registration import cupy as cp import numpy as np import pandas as pd @@ -10,9 +12,6 @@ import skimage.registration from _image_bench import ImageBench -import cucim.skimage -import cucim.skimage.registration - class RegistrationBench(ImageBench): def set_args(self, dtype): diff --git a/benchmarks/skimage/cucim_restoration_bench.py b/benchmarks/skimage/cucim_restoration_bench.py index 064b9a068..c876cae12 100644 --- a/benchmarks/skimage/cucim_restoration_bench.py +++ b/benchmarks/skimage/cucim_restoration_bench.py @@ -3,6 +3,8 @@ import os import pickle +import cucim.skimage +import cucim.skimage.restoration import cupy as cp import cupyx.scipy.ndimage as ndi import numpy as np @@ -10,11 +12,8 @@ import skimage import skimage.restoration from _image_bench import ImageBench -from skimage.restoration import denoise_tv_chambolle as tv_cpu - -import cucim.skimage -import cucim.skimage.restoration from cucim.skimage.restoration import denoise_tv_chambolle as tv_gpu +from skimage.restoration import denoise_tv_chambolle as tv_cpu class DenoiseBench(ImageBench): diff --git a/benchmarks/skimage/cucim_segmentation_bench.py b/benchmarks/skimage/cucim_segmentation_bench.py index fcba7073c..77bbae630 100644 --- a/benchmarks/skimage/cucim_segmentation_bench.py +++ b/benchmarks/skimage/cucim_segmentation_bench.py @@ -3,14 +3,13 @@ import os import pickle +import cucim.skimage import cupy as cp import numpy as np import pandas as pd import skimage import skimage.segmentation from _image_bench import ImageBench - -import cucim.skimage from cucim.skimage import data, measure diff --git a/benchmarks/skimage/cucim_transform_bench.py b/benchmarks/skimage/cucim_transform_bench.py index 3d64d60d3..6cc007af9 100644 --- a/benchmarks/skimage/cucim_transform_bench.py +++ b/benchmarks/skimage/cucim_transform_bench.py @@ -2,15 +2,14 @@ import os import pickle +import cucim.skimage +import cucim.skimage.transform import numpy as np import pandas as pd import skimage import skimage.transform from _image_bench import ImageBench -import cucim.skimage -import cucim.skimage.transform - def main(args): pfile = "cucim_transform_results.pickle" diff --git a/ci/wheel_smoke_test.py b/ci/wheel_smoke_test.py index e86a8888e..5311c6a96 100644 --- a/ci/wheel_smoke_test.py +++ b/ci/wheel_smoke_test.py @@ -1,8 +1,6 @@ -import cupy as cp - import cucim import cucim.skimage - +import cupy as cp if __name__ == "__main__": # verify that all top-level modules are available diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 31c5e6077..da6d2d6ae 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -27,7 +27,7 @@ dependencies: - matplotlib-base - nbsphinx - ninja -- numpy>=1.21.3 +- numpy>=1.23.4 - numpydoc>=1.5 - nvcc_linux-64=11.8 - openslide-python>=1.3.0 @@ -40,7 +40,7 @@ dependencies: - pytest-lazy-fixture>=0.6.3 - pytest-xdist - pytest>=6.2.4,<8.0.0a0 -- python>=3.8,<3.11 +- python>=3.8,<3.12 - pywavelets>=1.0 - recommonmark - scikit-image>=0.19.0,<0.23.0a0 diff --git a/conda/environments/all_cuda-122_arch-x86_64.yaml b/conda/environments/all_cuda-122_arch-x86_64.yaml index fb6453a6c..22532cbc3 100644 --- a/conda/environments/all_cuda-122_arch-x86_64.yaml +++ b/conda/environments/all_cuda-122_arch-x86_64.yaml @@ -27,7 +27,7 @@ dependencies: - matplotlib-base - nbsphinx - ninja -- numpy>=1.21.3 +- numpy>=1.23.4 - numpydoc>=1.5 - openslide-python>=1.3.0 - pip @@ -39,7 +39,7 @@ dependencies: - pytest-lazy-fixture>=0.6.3 - pytest-xdist - pytest>=6.2.4,<8.0.0a0 -- python>=3.8,<3.11 +- python>=3.8,<3.12 - pywavelets>=1.0 - recommonmark - scikit-image>=0.19.0,<0.23.0a0 diff --git a/conda/recipes/cucim/meta.yaml b/conda/recipes/cucim/meta.yaml index 04a94830a..61d85d080 100644 --- a/conda/recipes/cucim/meta.yaml +++ b/conda/recipes/cucim/meta.yaml @@ -63,7 +63,7 @@ requirements: {% endif %} - cupy >=12.0.0 - libcucim ={{ version }} - - numpy 1.21 + - numpy 1.23 - python - scikit-image >=0.19.0,<0.23.0a0 - scipy diff --git a/dependencies.yaml b/dependencies.yaml index 2c9159c50..1f8283432 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -234,8 +234,12 @@ dependencies: packages: - python=3.10 - matrix: + py: "3.11" packages: - - python>=3.8,<3.11 + - python=3.11 + - matrix: + packages: + - python>=3.8,<3.12 run: common: - output_types: [conda, requirements, pyproject] @@ -246,7 +250,7 @@ dependencies: - output_types: conda packages: - cupy>=12.0.0 - - numpy>=1.21.3 + - numpy>=1.23.4 # All dependencies below this point are specific to `cucim.clara` and # are not needed for either `cucim.core` or `cucim.skimage`. I did # not include these under a "pyproject" output so that it is still diff --git a/examples/python/distance_transform_edt_demo.py b/examples/python/distance_transform_edt_demo.py index 405cd0f23..d9813b2f4 100644 --- a/examples/python/distance_transform_edt_demo.py +++ b/examples/python/distance_transform_edt_demo.py @@ -10,11 +10,10 @@ print("This demo requires the matplotlib and colorcet packages.") raise (e) -from skimage import data - from cucim.core.operations.morphology import distance_transform_edt from cucim.skimage.color import label2rgb from cucim.skimage.segmentation import relabel_sequential +from skimage import data def coords_to_labels(coords): diff --git a/examples/python/gds_whole_slide/benchmark_round_trip.py b/examples/python/gds_whole_slide/benchmark_round_trip.py index 21f4ec278..2335e73a0 100644 --- a/examples/python/gds_whole_slide/benchmark_round_trip.py +++ b/examples/python/gds_whole_slide/benchmark_round_trip.py @@ -1,16 +1,15 @@ import os from time import time +import cucim.skimage.filters import cupy as cp import kvikio import kvikio.defaults import numpy as np +from cucim.core.operations.color import image_to_absorbance from cupyx.profiler import benchmark from demo_implementation import cupy_to_zarr, read_tiled -import cucim.skimage.filters -from cucim.core.operations.color import image_to_absorbance - data_dir = os.environ.get("WHOLE_SLIDE_DATA_DIR", os.path.dirname("__file__")) fname = os.path.join(data_dir, "resize.tiff") if not os.path.exists(fname): diff --git a/examples/python/gds_whole_slide/benchmark_zarr_write.py b/examples/python/gds_whole_slide/benchmark_zarr_write.py index 13376f410..f1f4a021b 100644 --- a/examples/python/gds_whole_slide/benchmark_zarr_write.py +++ b/examples/python/gds_whole_slide/benchmark_zarr_write.py @@ -4,12 +4,11 @@ import cupy as cp import kvikio.defaults import numpy as np +from cucim.core.operations.color import image_to_absorbance from cupyx.profiler import benchmark from demo_implementation import cupy_to_zarr, get_n_tiles, read_tiled from tifffile import TiffFile -from cucim.core.operations.color import image_to_absorbance - data_dir = os.environ.get("WHOLE_SLIDE_DATA_DIR", os.path.dirname("__file__")) fname = os.path.join(data_dir, "resize.tiff") if not os.path.exists(fname): diff --git a/examples/python/gds_whole_slide/demo_implementation.py b/examples/python/gds_whole_slide/demo_implementation.py index 7d02c8407..89cb69342 100644 --- a/examples/python/gds_whole_slide/demo_implementation.py +++ b/examples/python/gds_whole_slide/demo_implementation.py @@ -8,14 +8,13 @@ import numpy as np import openslide import tifffile +from cucim.clara import filesystem from kvikio.cufile import IOFuture from kvikio.zarr import GDSStore from tifffile import TiffFile from zarr import DirectoryStore from zarr.creation import init_array -from cucim.clara import filesystem - """ Developed with Dask 2022.05.2 zarr >= 2.13.2 diff --git a/examples/python/tiff_image/main.py b/examples/python/tiff_image/main.py index c36149a9e..42adf36e0 100644 --- a/examples/python/tiff_image/main.py +++ b/examples/python/tiff_image/main.py @@ -16,9 +16,8 @@ import json import numpy as np -from PIL import Image - from cucim import CuImage +from PIL import Image img = CuImage("image.tif") diff --git a/experiments/Supporting_Aperio_SVS_Format/benchmark.py b/experiments/Supporting_Aperio_SVS_Format/benchmark.py index 17085a8e9..db5deac70 100644 --- a/experiments/Supporting_Aperio_SVS_Format/benchmark.py +++ b/experiments/Supporting_Aperio_SVS_Format/benchmark.py @@ -19,10 +19,9 @@ from itertools import repeat from time import perf_counter -from openslide import OpenSlide - from cucim import CuImage from cucim.clara.filesystem import discard_page_cache # noqa: F401 +from openslide import OpenSlide class Timer(ContextDecorator): diff --git a/experiments/Using_Cache/benchmark.py b/experiments/Using_Cache/benchmark.py index d9667a44b..b1f69c5dc 100644 --- a/experiments/Using_Cache/benchmark.py +++ b/experiments/Using_Cache/benchmark.py @@ -21,11 +21,10 @@ import numpy as np import rasterio +from cucim import CuImage from openslide import OpenSlide from rasterio.windows import Window -from cucim import CuImage - class Timer(ContextDecorator): def __init__(self, message): From 46da10e05be93746910370ea5121447fbb21430e Mon Sep 17 00:00:00 2001 From: jakirkham Date: Thu, 29 Feb 2024 11:24:38 -0800 Subject: [PATCH 10/17] Simplify version update script (#705) * Drop version update steps for doc pages that no longer exist: https://github.com/rapidsai/cucim/pull/666 * Use the `main` branch in links as that is updated every release xref: https://github.com/rapidsai/build-planning/issues/15 Authors: - https://github.com/jakirkham Approvers: - Gregory Lee (https://github.com/grlee77) - Ray Douglass (https://github.com/raydouglass) URL: https://github.com/rapidsai/cucim/pull/705 --- README.md | 2 +- ci/build_docs.sh | 3 ++- ci/release/update-version.sh | 7 ------- ci/test_python.sh | 4 ++-- python/cucim/pyproject.toml | 2 +- 5 files changed, 6 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index a295d2e4d..c20ff1cfc 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ pip install cucim-cu11 ### Notebooks -Please check out our [Welcome](notebooks/Welcome.ipynb) notebook ([NBViewer](https://nbviewer.jupyter.org/github/rapidsai/cucim/blob/branch-24.04/notebooks/Welcome.ipynb)) +Please check out our [Welcome](notebooks/Welcome.ipynb) notebook ([NBViewer](https://nbviewer.org/github/rapidsai/cucim/blob/main/notebooks/Welcome.ipynb)) #### Downloading sample images diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 164a6e810..554ccae36 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -2,6 +2,8 @@ set -euo pipefail +export RAPIDS_VERSION_NUMBER="$(rapids-generate-version)" + rapids-logger "Create test conda environment" . /opt/conda/etc/profile.d/conda.sh @@ -24,7 +26,6 @@ rapids-mamba-retry install \ --channel "${PYTHON_CHANNEL}" \ cucim libcucim -export RAPIDS_VERSION_NUMBER="24.04" export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-logger "Build Python docs" diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index d16562bf7..7531110c2 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -37,15 +37,8 @@ sed_runner 's/release = .*/release = "'"${NEXT_FULL_TAG}"'"/g' docs/source/conf. # Centralized version file update echo "${NEXT_FULL_TAG}" > VERSION -sed_runner "s#\[Version ${CURRENT_LONG_TAG}\](release_notes/v${CURRENT_LONG_TAG}.md)#\[Version ${NEXT_FULL_TAG}\](release_notes/v${NEXT_FULL_TAG}.md)#g" python/cucim/docs/index.md -sed_runner "s/v${CURRENT_LONG_TAG}/v${NEXT_FULL_TAG}/g" python/cucim/docs/getting_started/index.md -sed_runner "s#cucim.kit.cuslide@${CURRENT_LONG_TAG}.so#cucim.kit.cuslide@${NEXT_FULL_TAG}.so#g" python/cucim/docs/getting_started/index.md sed_runner "s#cucim.kit.cuslide@${CURRENT_LONG_TAG}.so#cucim.kit.cuslide@${NEXT_FULL_TAG}.so#g" cucim.code-workspace -sed_runner "s#branch-${CURRENT_MAJOR}.${CURRENT_MINOR}#branch-${NEXT_MAJOR}.${NEXT_MINOR}#g" README.md -sed_runner "s#branch-${CURRENT_MAJOR}.${CURRENT_MINOR}#branch-${NEXT_MAJOR}.${NEXT_MINOR}#g" python/cucim/pyproject.toml for FILE in .github/workflows/*.yaml; do sed_runner "/shared-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}" done -sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TAG}\"/g" ci/build_docs.sh -sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TAG}\"/g" ci/test_python.sh diff --git a/ci/test_python.sh b/ci/test_python.sh index 1de0fb135..dc3bdd9b2 100755 --- a/ci/test_python.sh +++ b/ci/test_python.sh @@ -5,9 +5,9 @@ set -euo pipefail -. /opt/conda/etc/profile.d/conda.sh +RAPIDS_VERSION_NUMBER=$(rapids-generate-version) -export RAPIDS_VERSION_NUMBER="24.04" +. /opt/conda/etc/profile.d/conda.sh rapids-logger "Generate Python testing dependencies" rapids-dependency-file-generator \ diff --git a/python/cucim/pyproject.toml b/python/cucim/pyproject.toml index c2d187512..01f8d318f 100644 --- a/python/cucim/pyproject.toml +++ b/python/cucim/pyproject.toml @@ -50,7 +50,7 @@ classifiers = [ [project.urls] Homepage = "https://developer.nvidia.com/multidimensional-image-processing" Documentation = "https://docs.rapids.ai/api/cucim/stable/" -Changelog = "https://github.com/rapidsai/cucim/blob/branch-24.04/CHANGELOG.md" +Changelog = "https://github.com/rapidsai/cucim/blob/main/CHANGELOG.md" Source = "https://github.com/rapidsai/cucim" Tracker = "https://github.com/rapidsai/cucim/issues" From 5ffe82bc7d8ea3cf58f61c325c5b4cfc32e2f124 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Wed, 6 Mar 2024 11:24:46 -0800 Subject: [PATCH 11/17] Switch `pytest-xdist` algorithm to `worksteal` (#708) This PR uses the `worksteal` algorithm to accelerate parallel pytests. See https://github.com/rapidsai/cudf/pull/15207. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - GALI PREM SAGAR (https://github.com/galipremsagar) - Jake Awe (https://github.com/AyodeAwe) URL: https://github.com/rapidsai/cucim/pull/708 --- ci/test_python.sh | 2 +- ci/test_wheel.sh | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ci/test_python.sh b/ci/test_python.sh index dc3bdd9b2..88580e8d4 100755 --- a/ci/test_python.sh +++ b/ci/test_python.sh @@ -51,7 +51,7 @@ timeout 20m pytest \ --cache-clear \ --junitxml="${RAPIDS_TESTS_DIR}/junit-cucim.xml" \ --numprocesses=8 \ - --dist=loadscope \ + --dist=worksteal \ --cov-config=.coveragerc \ --cov=cucim \ --cov-report=xml:"${RAPIDS_COVERAGE_DIR}/cucim-coverage.xml" \ diff --git a/ci/test_wheel.sh b/ci/test_wheel.sh index 81f7f53e5..5a4361401 100755 --- a/ci/test_wheel.sh +++ b/ci/test_wheel.sh @@ -22,8 +22,16 @@ else if [[ ${CUDA_MAJOR_VERSION} == "11" ]]; then # Omit I/O-related tests in ./python/cucim/tests due to known CUDA bug # with dynamic loading of libcufile. - python -m pytest ./python/cucim/src/ + python -m pytest \ + --junitxml="${RAPIDS_TESTS_DIR}/junit-cucim.xml" \ + --numprocesses=8 \ + --dist=worksteal \ + ./python/cucim/src/ else - python -m pytest ./python/cucim + python -m pytest \ + --junitxml="${RAPIDS_TESTS_DIR}/junit-cucim.xml" \ + --numprocesses=8 \ + --dist=worksteal \ + ./python/cucim fi fi From a661e09e78f7625a9bf7a6c73e194ba6cd72959e Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Fri, 8 Mar 2024 09:40:37 -0500 Subject: [PATCH 12/17] Remove hard-coding of RAPIDS version (#711) * Read `cucim.__version__` in docs build * Remove update from `ci/release/update-version.sh` Issue: https://github.com/rapidsai/build-planning/issues/15 Authors: - Kyle Edwards (https://github.com/KyleFromNVIDIA) Approvers: - Bradley Dice (https://github.com/bdice) - Jake Awe (https://github.com/AyodeAwe) URL: https://github.com/rapidsai/cucim/pull/711 --- ci/release/update-version.sh | 4 ---- docs/source/conf.py | 8 ++++++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 7531110c2..12816e1b3 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -30,10 +30,6 @@ function sed_runner() { sed -i.bak ''"$1"'' $2 && rm -f ${2}.bak } -# RTD update -sed_runner 's/version = .*/version = "'"${NEXT_SHORT_TAG}"'"/g' docs/source/conf.py -sed_runner 's/release = .*/release = "'"${NEXT_FULL_TAG}"'"/g' docs/source/conf.py - # Centralized version file update echo "${NEXT_FULL_TAG}" > VERSION diff --git a/docs/source/conf.py b/docs/source/conf.py index 9171bc9cc..a7d832627 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -21,6 +21,9 @@ # import os import sys +from packaging.version import Version + +import cucim sys.path.insert(0, os.path.abspath("../..")) curpath = os.path.dirname(__file__) @@ -71,10 +74,11 @@ # |version| and |release|, also used in various other places throughout the # built documents. # +CUCIM_VERSION = Version(cucim.__version__) # The short X.Y version. -version = "24.04" +version = f"{CUCIM_VERSION.major:02}.{CUCIM_VERSION.minor:02}" # The full version, including alpha/beta/rc tags. -release = "24.04.00" +release = f"{CUCIM_VERSION.major:02}.{CUCIM_VERSION.minor:02}.{CUCIM_VERSION.micro:02}" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From 1874f49ac6eac535f1a67738110c826f6049840d Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Wed, 13 Mar 2024 11:54:49 -0500 Subject: [PATCH 13/17] Add upper bound to prevent usage of NumPy 2 (#712) NumPy 2 is expected to be released in the near future. For the RAPIDS 24.04 release, we will pin to `numpy>=1.23,<2.0a0`. This PR adds an upper bound to affected RAPIDS repositories. xref: https://github.com/rapidsai/build-planning/issues/29 Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Ray Douglass (https://github.com/raydouglass) - Gregory Lee (https://github.com/grlee77) URL: https://github.com/rapidsai/cucim/pull/712 --- conda/environments/all_cuda-118_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-122_arch-x86_64.yaml | 2 +- dependencies.yaml | 3 +-- python/cucim/pyproject.toml | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index da6d2d6ae..2b6ff2f01 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -27,7 +27,7 @@ dependencies: - matplotlib-base - nbsphinx - ninja -- numpy>=1.23.4 +- numpy>=1.23.4,<2.0a0 - numpydoc>=1.5 - nvcc_linux-64=11.8 - openslide-python>=1.3.0 diff --git a/conda/environments/all_cuda-122_arch-x86_64.yaml b/conda/environments/all_cuda-122_arch-x86_64.yaml index 22532cbc3..0607c83db 100644 --- a/conda/environments/all_cuda-122_arch-x86_64.yaml +++ b/conda/environments/all_cuda-122_arch-x86_64.yaml @@ -27,7 +27,7 @@ dependencies: - matplotlib-base - nbsphinx - ninja -- numpy>=1.23.4 +- numpy>=1.23.4,<2.0a0 - numpydoc>=1.5 - openslide-python>=1.3.0 - pip diff --git a/dependencies.yaml b/dependencies.yaml index 1f8283432..28a7854db 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -245,12 +245,12 @@ dependencies: - output_types: [conda, requirements, pyproject] packages: - lazy_loader>=0.1 + - numpy>=1.23.4,<2.0a0 - scikit-image>=0.19.0,<0.23.0a0 - scipy - output_types: conda packages: - cupy>=12.0.0 - - numpy>=1.23.4 # All dependencies below this point are specific to `cucim.clara` and # are not needed for either `cucim.core` or `cucim.skimage`. I did # not include these under a "pyproject" output so that it is still @@ -269,7 +269,6 @@ dependencies: - output_types: [requirements, pyproject] packages: - cupy-cuda11x>=12.0.0 - - numpy test_python: common: - output_types: [conda, requirements, pyproject] diff --git a/python/cucim/pyproject.toml b/python/cucim/pyproject.toml index 01f8d318f..66e3a2d48 100644 --- a/python/cucim/pyproject.toml +++ b/python/cucim/pyproject.toml @@ -26,7 +26,7 @@ requires-python = ">=3.9" dependencies = [ "cupy-cuda11x>=12.0.0", "lazy_loader>=0.1", - "numpy", + "numpy>=1.23.4,<2.0a0", "scikit-image>=0.19.0,<0.23.0a0", "scipy", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. From 3de344e2c3156e7132c4b31655cc25fab3ff88c1 Mon Sep 17 00:00:00 2001 From: Ray Douglass <3107146+raydouglass@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:02:13 -0400 Subject: [PATCH 14/17] Fix docs upload directory (#714) Similar to https://github.com/rapidsai/cudf/pull/15291, fixes the upload directory for docs (`24.04.00a30` => `24.04`). Authors: - Ray Douglass (https://github.com/raydouglass) Approvers: - AJ Schmidt (https://github.com/ajschmidt8) - Jake Awe (https://github.com/AyodeAwe) URL: https://github.com/rapidsai/cucim/pull/714 --- ci/build_docs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 554ccae36..404f4415a 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -2,7 +2,7 @@ set -euo pipefail -export RAPIDS_VERSION_NUMBER="$(rapids-generate-version)" +export RAPIDS_VERSION_NUMBER="$(rapids-version-major-minor)" rapids-logger "Create test conda environment" . /opt/conda/etc/profile.d/conda.sh From eee3e4c3ae6521b532978f20e7083a5a3ea8287d Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Mon, 1 Apr 2024 17:14:53 -0500 Subject: [PATCH 15/17] Use `conda env create --yes` instead of `--force` (#716) conda dropped support for the `--force` flag to `conda env create`. This changes that flag name to `--yes`. See https://github.com/conda/conda/blob/main/CHANGELOG.md#2430-2024-03-12 and https://github.com/rapidsai/miniforge-cuda/pull/63 for more info. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Ray Douglass (https://github.com/raydouglass) - https://github.com/jakirkham URL: https://github.com/rapidsai/cucim/pull/716 --- ci/build_docs.sh | 2 +- ci/check_style.sh | 2 +- ci/test_python.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 404f4415a..1f8865a4c 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -12,7 +12,7 @@ rapids-dependency-file-generator \ --file_key docs \ --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee env.yaml -rapids-mamba-retry env create --force -f env.yaml -n docs +rapids-mamba-retry env create --yes -f env.yaml -n docs conda activate docs rapids-print-env diff --git a/ci/check_style.sh b/ci/check_style.sh index be3ac3f4b..9bc26fe71 100755 --- a/ci/check_style.sh +++ b/ci/check_style.sh @@ -11,7 +11,7 @@ rapids-dependency-file-generator \ --file_key checks \ --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee env.yaml -rapids-mamba-retry env create --force -f env.yaml -n checks +rapids-mamba-retry env create --yes -f env.yaml -n checks conda activate checks # Run pre-commit checks diff --git a/ci/test_python.sh b/ci/test_python.sh index 88580e8d4..d6e76971e 100755 --- a/ci/test_python.sh +++ b/ci/test_python.sh @@ -15,7 +15,7 @@ rapids-dependency-file-generator \ --file_key test_python \ --matrix "cuda=${RAPIDS_CUDA_VERSION%.*};arch=$(arch);py=${RAPIDS_PY_VERSION}" | tee env.yaml -rapids-mamba-retry env create --force -f env.yaml -n test +rapids-mamba-retry env create --yes -f env.yaml -n test # Temporarily allow unbound variables for conda activation. set +u From 2a06d5c3a3def5e3f674f0d37c93c1949f5c66e9 Mon Sep 17 00:00:00 2001 From: jakirkham Date: Tue, 2 Apr 2024 16:30:34 -0700 Subject: [PATCH 16/17] Require `click` as a wheel dependency (#719) Fixes https://github.com/rapidsai/cucim/issues/703 Trying to `import cucim` results in `import click`, which fails if `click` is not installed. This was encountered recently by a user that tested out the cuCIM wheel packages. The Conda packages already solve this by adding `click` to `requirements/run`. So this makes an equivalent change to the wheel packages. Should fix user install issues. Authors: - https://github.com/jakirkham Approvers: - Gregory Lee (https://github.com/grlee77) - Gigon Bae (https://github.com/gigony) - Ray Douglass (https://github.com/raydouglass) URL: https://github.com/rapidsai/cucim/pull/719 --- dependencies.yaml | 3 +-- python/cucim/pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 28a7854db..703cb70a3 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -244,6 +244,7 @@ dependencies: common: - output_types: [conda, requirements, pyproject] packages: + - click - lazy_loader>=0.1 - numpy>=1.23.4,<2.0a0 - scikit-image>=0.19.0,<0.23.0a0 @@ -257,7 +258,6 @@ dependencies: # possible to run `pip install .` from the python/cucim folder # without having build the C++ library at all. This allows, usage of # usage of `cucim.skimage` on Windows, for example. - - click - jbig - libwebp-base - xz @@ -297,7 +297,6 @@ dependencies: - openslide-python>=1.3.0; platform_machine=='x86_64' - matplotlib - opencv-python-headless>=4.6 - - click - output_types: [pyproject] packages: # Already added to requirements via docs. This is for tests. diff --git a/python/cucim/pyproject.toml b/python/cucim/pyproject.toml index 66e3a2d48..433afc0a5 100644 --- a/python/cucim/pyproject.toml +++ b/python/cucim/pyproject.toml @@ -24,6 +24,7 @@ authors = [ license = { text = "Apache 2.0" } requires-python = ">=3.9" dependencies = [ + "click", "cupy-cuda11x>=12.0.0", "lazy_loader>=0.1", "numpy>=1.23.4,<2.0a0", @@ -57,7 +58,6 @@ Tracker = "https://github.com/rapidsai/cucim/issues" [project.optional-dependencies] test = [ "GPUtil>=1.4.0", - "click", "imagecodecs>=2021.6.8; platform_machine=='x86_64'", "matplotlib", "numpydoc>=1.5", From e65c162d020b64878780cb1801a5c042cf366351 Mon Sep 17 00:00:00 2001 From: Ray Douglass Date: Wed, 10 Apr 2024 10:12:38 -0400 Subject: [PATCH 17/17] Update Changelog [skip ci] --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c826766cf..de31f9ddf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ +# cuCIM 24.04.00 (10 Apr 2024) + +## 🐛 Bug Fixes + +- Require `click` as a wheel dependency ([#719](https://github.com/rapidsai/cucim/pull/719)) [@jakirkham](https://github.com/jakirkham) +- Fix docs upload directory ([#714](https://github.com/rapidsai/cucim/pull/714)) [@raydouglass](https://github.com/raydouglass) +- Fix `popd` indent in `run` ([#693](https://github.com/rapidsai/cucim/pull/693)) [@jakirkham](https://github.com/jakirkham) +- Re-run `ci/release/update-version.sh 24.04.00` ([#690](https://github.com/rapidsai/cucim/pull/690)) [@jakirkham](https://github.com/jakirkham) + +## 🚀 New Features + +- Support CUDA 12.2 ([#672](https://github.com/rapidsai/cucim/pull/672)) [@jameslamb](https://github.com/jameslamb) + +## 🛠️ Improvements + +- Use `conda env create --yes` instead of `--force` ([#716](https://github.com/rapidsai/cucim/pull/716)) [@bdice](https://github.com/bdice) +- Add upper bound to prevent usage of NumPy 2 ([#712](https://github.com/rapidsai/cucim/pull/712)) [@bdice](https://github.com/bdice) +- Remove hard-coding of RAPIDS version ([#711](https://github.com/rapidsai/cucim/pull/711)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA) +- Switch `pytest-xdist` algorithm to `worksteal` ([#708](https://github.com/rapidsai/cucim/pull/708)) [@bdice](https://github.com/bdice) +- Simplify version update script ([#705](https://github.com/rapidsai/cucim/pull/705)) [@jakirkham](https://github.com/jakirkham) +- Add support for Python 3.11, require NumPy 1.23+ ([#704](https://github.com/rapidsai/cucim/pull/704)) [@jameslamb](https://github.com/jameslamb) +- target branch-24.04 for GitHub Actions workflows ([#702](https://github.com/rapidsai/cucim/pull/702)) [@jameslamb](https://github.com/jameslamb) +- Refactor CUDA libraries in dependencies.yaml ([#699](https://github.com/rapidsai/cucim/pull/699)) [@bdice](https://github.com/bdice) +- Update ops-bot.yaml ([#694](https://github.com/rapidsai/cucim/pull/694)) [@AyodeAwe](https://github.com/AyodeAwe) +- add rapids-dependency-file-generator pre-commmit hook ([#682](https://github.com/rapidsai/cucim/pull/682)) [@jameslamb](https://github.com/jameslamb) + # cuCIM 24.02.00 (12 Feb 2024) ## 🐛 Bug Fixes