Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[RELEASE] cucim v24.06 #735

Merged
merged 16 commits into from
Jun 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading