Skip to content

Commit

Permalink
Merge pull request #735 from rapidsai/branch-24.06
Browse files Browse the repository at this point in the history
[RELEASE] cucim v24.06
  • Loading branch information
raydouglass committed Jun 5, 2024
2 parents a24abfd + 7402cee commit c380fde
Show file tree
Hide file tree
Showing 133 changed files with 2,682 additions and 1,677 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ concurrency:
jobs:
cpp-build:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -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@branch-24.06
with:
arch: "amd64"
branch: ${{ inputs.branch }}
Expand All @@ -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@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -60,15 +60,15 @@ 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@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
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@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -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@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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@branch-24.06
checks:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.06
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@branch-24.06
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@branch-24.06
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@branch-24.06
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@branch-24.06
with:
build_type: pull-request
node_type: "gpu-v100-latest-1"
Expand All @@ -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@branch-24.06
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@branch-24.06
with:
build_type: pull-request
script: ci/test_wheel.sh
4 changes: 2 additions & 2 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ 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@branch-24.06
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
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@branch-24.06
with:
build_type: nightly
branch: ${{ inputs.branch }}
Expand Down
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,44 @@
# cucim 24.06.00 (5 Jun 2024)

## 🚨 Breaking Changes

- The `output` argument of `cucim.skimage.filters.gaussian` has been renamed to `out`. The old name is deprecated and will be removed in release 25.02 (#727)
- Renamed `get_xyz_coords` function is now removed (use `skimage.color.xyz_tristimulus_values` instead) (#724)
- Removed deprecated `return_error` kwarg from `phase_cross_correlation` (the error is now always returned) (#724)
- Removed deprecated `random_state` kwarg from `medial_axis` (it was renamed to `rng` previously) (#724)

## 🐛 Bug Fixes

- Use SciPy's KDTree instead of deprecated cKDTree ([#733](https://github.com/rapidsai/cucim/pull/733)) [@grlee77](https://github.com/grlee77)
- Binary and grayscale morphology functions have bug fixes in the case of even-sized/non-symmetric footprints (for details see upstream MR: https://github.com/scikit-image/scikit-image/pull/6695) (#728)

## 🚀 New Features

- `cucim.skimage.measure.regionprops` (and `regionprops_table`) support one new region property: `intensity_std` (#727)
- `cucim.skimage.segmentation.expand_labels` now supports a `spacing` keyword argument to take a pixel's physical dimensions into account (#727)
- binary morphology functions have a new `mode` argument that controls how values outside the image boundaries are interpreted (#728)
- grayscale morphology functions have new `mode` and `cval` arguments that control how boundaries are extended (#728)

## 🛠️ Improvements

- Enable FutureWarnings/DeprecationWarnings as errors ([#734](https://github.com/rapidsai/cucim/pull/734)) [@mroeschke](https://github.com/mroeschke)
- Migrate to `{{ stdlib("c") }}` ([#731](https://github.com/rapidsai/cucim/pull/731)) [@hcho3](https://github.com/hcho3)
- Implement upstream changes from scikit-image 0.23 (part 2 of 2: morphology) ([#728](https://github.com/rapidsai/cucim/pull/728)) [@grlee77](https://github.com/grlee77)
- Implement upstream changes from scikit-image 0.23 (part 1 of 2) ([#727](https://github.com/rapidsai/cucim/pull/727)) [@grlee77](https://github.com/grlee77)
- Update the test criteria for test_read_random_region_cpu_memleak ([#726](https://github.com/rapidsai/cucim/pull/726)) [@gigony](https://github.com/gigony)
- Remove code needed to support Python < 3.9 and apply ruff's pyupgrade rules ([#725](https://github.com/rapidsai/cucim/pull/725)) [@grlee77](https://github.com/grlee77)
- removal of deprecated functions/kwargs scheduled for release 24.06 ([#724](https://github.com/rapidsai/cucim/pull/724)) [@grlee77](https://github.com/grlee77)
- Enable all tests for `arm` jobs ([#717](https://github.com/rapidsai/cucim/pull/717)) [@galipremsagar](https://github.com/galipremsagar)
- prevent path conflict ([#713](https://github.com/rapidsai/cucim/pull/713)) [@AyodeAwe](https://github.com/AyodeAwe)
- Updated cuCIM APIs for consistency with scikit-image 0.23.2 (#727 and #728)
- Additional modules use `__init__.pyi` instead of just `__init__.py` (#727)
- Some grayscale tests now compare directly to `skimage` CPU outputs instead fetching previously saved values (#728)
- Refactored some test cases to better use `pytest.mark.parametrize` (#728)
- Bumped version pinning for scikit-image to allow 0.23.x to be installed (#728)

## 📖 Documentation
- Various fixes to documentation strings (consistent shape notation, etc.) (#727)

# cuCIM 24.04.00 (10 Apr 2024)

## 🐛 Bug Fixes
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.04.00
24.06.00
2 changes: 1 addition & 1 deletion benchmarks/skimage/cucim_morphology_bench.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ def main(args):
# _skeletonize.py
(
"medial_axis",
dict(random_state=123),
dict(rng=123),
dict(return_distance=[False, True]),
False,
False,
Expand Down
2 changes: 2 additions & 0 deletions ci/build_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ version=$(rapids-generate-version)

rapids-logger "Begin cpp build"

conda config --set path_conflict prevent

RAPIDS_PACKAGE_VERSION=${version} rapids-conda-retry mambabuild conda/recipes/libcucim

rapids-upload-conda-to-s3 cpp
1 change: 1 addition & 0 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ echo "${version}" > VERSION
sed -i "/^__git_commit__/ s/= .*/= \"${commit}\"/g" "${package_src_dir}/_version.py"

rapids-logger "Begin py build"
conda config --set path_conflict prevent

CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp)

Expand Down
38 changes: 16 additions & 22 deletions ci/test_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,21 @@ python -m pip install $(echo ./dist/cucim*.whl)[test]

CUDA_MAJOR_VERSION=${RAPIDS_CUDA_VERSION:0:2}

# Run smoke tests for aarch64 pull requests
if [[ "$(arch)" == "aarch64" && ${RAPIDS_BUILD_TYPE} == "pull-request" ]]; then
python ./ci/wheel_smoke_test.py
else

DEBIAN_FRONTEND=noninteractive apt update
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends libopenslide0
DEBIAN_FRONTEND=noninteractive apt update
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends libopenslide0

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 \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cucim.xml" \
--numprocesses=8 \
--dist=worksteal \
./python/cucim/src/
else
python -m pytest \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cucim.xml" \
--numprocesses=8 \
--dist=worksteal \
./python/cucim
fi
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 \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cucim.xml" \
--numprocesses=8 \
--dist=worksteal \
./python/cucim/src/
else
python -m pytest \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cucim.xml" \
--numprocesses=8 \
--dist=worksteal \
./python/cucim
fi
19 changes: 0 additions & 19 deletions ci/wheel_smoke_test.py

This file was deleted.

4 changes: 2 additions & 2 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ dependencies:
- python>=3.8,<3.12
- pywavelets>=1.0
- recommonmark
- scikit-image>=0.19.0,<0.23.0a0
- scipy
- scikit-image>=0.19.0,<0.24.0a0
- scipy>=1.6.0
- sphinx<6
- sysroot_linux-64==2.17
- tifffile>=2022.7.28
Expand Down
4 changes: 2 additions & 2 deletions conda/environments/all_cuda-122_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ dependencies:
- python>=3.8,<3.12
- pywavelets>=1.0
- recommonmark
- scikit-image>=0.19.0,<0.23.0a0
- scipy
- scikit-image>=0.19.0,<0.24.0a0
- scipy>=1.6.0
- sphinx<6
- sysroot_linux-64==2.17
- tifffile>=2022.7.28
Expand Down
5 changes: 4 additions & 1 deletion conda/recipes/cucim/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@ cuda_compiler:
cuda11_compiler:
- nvcc

sysroot_version:
c_stdlib:
- sysroot

c_stdlib_version:
- "2.17"
6 changes: 3 additions & 3 deletions conda/recipes/cucim/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ requirements:
- cmake >=3.23.1,!=3.25.0
- make
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
- {{ stdlib("c") }}
host:
- click
- cuda-version ={{ cuda_version }}
Expand All @@ -66,7 +66,7 @@ requirements:
- numpy 1.23
- python
- scikit-image >=0.19.0,<0.23.0a0
- scipy
- scipy >=1.6
run:
- {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
{% if cuda_major != "11" %}
Expand All @@ -79,7 +79,7 @@ requirements:
- libcucim ={{ version }}
- python
- scikit-image >=0.19.0,<0.23.0a0
- scipy
- scipy >=1.6
run_constrained:
- openslide-python >=1.3.0

Expand Down
5 changes: 4 additions & 1 deletion conda/recipes/libcucim/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ cuda_compiler:
cuda11_compiler:
- nvcc

sysroot_version:
c_stdlib:
- sysroot

c_stdlib_version:
- "2.17"

# The CTK libraries below are missing from the conda-forge::cudatoolkit package
Expand Down
2 changes: 1 addition & 1 deletion conda/recipes/libcucim/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ requirements:
- cmake >=3.23.1,!=3.25.0
- make
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
- {{ stdlib("c") }}
- yasm # [x86_64]
host:
- cuda-version ={{ cuda_version }}
Expand Down
8 changes: 4 additions & 4 deletions cucim.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -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.04.00.so"
"CUCIM_TEST_PLUGIN_PATH": "cucim.kit.cuslide@24.06.00.so"
},
"cwd": "${workspaceDirectory}",
"catch2": {
Expand Down Expand Up @@ -226,7 +226,7 @@
},
{
"name": "CUCIM_TEST_PLUGIN_PATH",
"value": "cucim.kit.cuslide@24.04.00.so"
"value": "cucim.kit.cuslide@24.06.00.so"
}
],
"console": "externalTerminal",
Expand Down Expand Up @@ -254,7 +254,7 @@
},
{
"name": "CUCIM_TEST_PLUGIN_PATH",
"value": "cucim.kit.cuslide@24.04.00.so"
"value": "cucim.kit.cuslide@24.06.00.so"
}
],
"console": "externalTerminal",
Expand Down Expand Up @@ -286,7 +286,7 @@
},
{
"name": "CUCIM_TEST_PLUGIN_PATH",
"value": "cucim.kit.cuslide@24.04.00.so"
"value": "cucim.kit.cuslide@24.06.00.so"
}
],
"console": "externalTerminal",
Expand Down
4 changes: 2 additions & 2 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,8 @@ dependencies:
- click
- lazy_loader>=0.1
- numpy>=1.23.4,<2.0a0
- scikit-image>=0.19.0,<0.23.0a0
- scipy
- scikit-image>=0.19.0,<0.24.0a0
- scipy>=1.6.0
- output_types: conda
packages:
- cupy>=12.0.0
Expand Down
Loading

0 comments on commit c380fde

Please sign in to comment.