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

cuCIM: Build CUDA 12 packages #572

Merged
merged 47 commits into from
Jul 25, 2023
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
f020023
Configure CUDA 12.0 GHA builds
jakirkham Jun 10, 2023
7821b1d
Update cuCIM dependencies for CUDA 12
jakirkham Jun 10, 2023
48ffa07
Run RAPIDS dependency file generator
jakirkham Jun 10, 2023
af84898
Update Conda recipes for CUDA 12
jakirkham Jun 28, 2023
03acaa9
Fix `minor_version` in `cucim` recipe
jakirkham Jun 28, 2023
2941d79
Merge branch 'branch-23.08' into cuda-12
jakirkham Jun 28, 2023
f2fda02
Drop extra blank line
jakirkham Jun 28, 2023
c0f9dce
Add CUDA 12 to `dependencies.yaml`
jakirkham Jun 28, 2023
811f370
Refresh envs
jakirkham Jun 28, 2023
586d323
Add `cuda_spec` to `meta.yaml`'s Jinja vars
jakirkham Jun 28, 2023
a4778b4
Use `pin_compatible` with `cuda-version`
jakirkham Jun 28, 2023
b250b1d
Use `cuda-version`
jakirkham Jun 28, 2023
cedc1b8
Use `cuda-nvcc` (instead of specifying arch)
jakirkham Jun 28, 2023
4fb96ad
Fix missing GHA branch in workflow
jakirkham Jun 29, 2023
7a10826
Drop unused Jinja variables
jakirkham Jun 29, 2023
1559ae5
Combine archs in `dependencies.yaml`
jakirkham Jun 29, 2023
c90230d
Drop redundant `cudatoolkit`s from `host`
jakirkham Jun 29, 2023
78d2375
Merge branch 'branch-23.08' into cuda-12
jakirkham Jul 11, 2023
bcd5255
Require `libnvjpeg-static`
jakirkham Jul 13, 2023
646b369
Requre `libnvjpeg` for CUDA 11
jakirkham Jul 13, 2023
d96d41b
Search Conda paths for dependencies
jakirkham Jul 13, 2023
4623692
Add `libnvjpeg` to `host`
jakirkham Jul 13, 2023
60db8b1
Use `sqrt` in `_get_manders_overlap_coeff`
jakirkham Jul 14, 2023
7b22430
Merge jakirkham/use_sqrt_moc into jakirkham/cuda-12
jakirkham Jul 14, 2023
331a058
Use `norm` on images
jakirkham Jul 14, 2023
eabbd77
Merge jakirkham/use_sqrt_moc into jakirkham/cuda-12
jakirkham Jul 14, 2023
154835c
Use `vdot` with images
jakirkham Jul 14, 2023
b261404
Drop `fuse` from `_get_manders_overlap_coeff`
jakirkham Jul 14, 2023
3c40509
Inline `_get_manders_overlap_coeff`
jakirkham Jul 14, 2023
bb56ef7
Merge jakirkham/use_sqrt_moc into jakirkham/cuda-12
jakirkham Jul 14, 2023
d041d9f
Merge branch 'branch-23.08' into cuda-12
jakirkham Jul 17, 2023
4790149
Use `libnvjpeg*` on `aarch64` too
jakirkham Jul 17, 2023
3dfc007
Merge branch 'branch-23.08' into cuda-12
jakirkham Jul 17, 2023
6e02f7e
Merge branch 'branch-23.08' into cuda-12
jakirkham Jul 17, 2023
f5ddb74
Refresh CUDA 12 environment
jakirkham Jul 18, 2023
59406a8
Add `libcufile*` & `libnvjpeg*` to dependencies
jakirkham Jul 18, 2023
e7e1aa9
Add `libnvjpeg-static` to CUDA 12 dependencies
jakirkham Jul 18, 2023
2ce1425
Suport CUDA 12 CTK packages' `targets/<arch>` dir
jakirkham Jul 25, 2023
a7bea93
Revert to using `branch-23.08` GHA workflows
jakirkham Jul 25, 2023
3fdcd90
Fix typo in `x86_64`
jakirkham Jul 25, 2023
220de6e
Fix `nvjpeg_search` typos
jakirkham Jul 25, 2023
3336a0e
Drop duplicate `targets` directory nesting
jakirkham Jul 25, 2023
6d79d60
Drop unneeded `CUDA` `echo` line
jakirkham Jul 25, 2023
4b601e3
Use `arch` instead of `uname -m`
jakirkham Jul 25, 2023
229af54
Drop extra `cudatoolkit` dependency from `cucim`
jakirkham Jul 25, 2023
78dfa55
Drop unneeded `cuda-nvrtc` dependency
jakirkham Jul 25, 2023
e2b8fe4
Drop `libcufile` from `run` as well
jakirkham Jul 25, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ concurrency:
jobs:
cpp-build:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -38,7 +38,7 @@ jobs:
if: github.ref_type == 'branch'
needs: [python-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120
with:
arch: "amd64"
branch: ${{ inputs.branch }}
Expand All @@ -51,7 +51,7 @@ jobs:
python-build:
needs: [cpp-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -60,7 +60,7 @@ jobs:
upload-conda:
needs: [cpp-build, python-build]
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@cuda-120
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,32 @@ jobs:
- conda-python-tests
- docs-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@cuda-120
checks:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@cuda-120
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120
with:
build_type: pull-request
conda-python-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120
with:
build_type: pull-request
conda-python-tests:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120
with:
build_type: pull-request
docs-build:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120
with:
build_type: pull-request
node_type: "gpu-v100-latest-1"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
jobs:
conda-python-tests:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120
with:
build_type: nightly
branch: ${{ inputs.branch }}
Expand Down
3 changes: 2 additions & 1 deletion conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ dependencies:
- c-compiler
- click
- cmake>=3.23.1,!=3.25.0
- cudatoolkit=11.8
- cuda-version=11.8
- cudatoolkit
- cupy >=12.0.0
- cxx-compiler
- gcc_linux-64=11.*
Expand Down
51 changes: 51 additions & 0 deletions conda/environments/all_cuda-120_arch-x86_64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This file is generated by `rapids-dependency-file-generator`.
# To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`.
channels:
- rapidsai
- rapidsai-nightly
- conda-forge
- nvidia
dependencies:
- GPUtil>=1.4.0
- c-compiler
- click
- cmake>=3.23.1,!=3.25.0
- cuda-cudart-dev
- cuda-nvcc
- cuda-version=12.0
- cupy >=12.0.0
- cxx-compiler
- gcc_linux-64=11.*
- imagecodecs>=2021.6.8
- ipython
- jbig
- libcufile-dev
- libnvjpeg-dev
- libwebp-base
- nbsphinx
- ninja
- numpy >=1.21.3
- numpydoc
- openslide-python>=1.1.2
- pip
- pre-commit
- psutil>=5.8.0
- pydata-sphinx-theme
- pytest-cov>=2.12.1
- pytest-lazy-fixture>=0.6.3
- pytest-xdist
- pytest>=6.2.4
- python>=3.8,<3.11
- recommonmark
- scikit-image >=0.19.0,<0.21.0a0
- scipy
- sphinx<6
- sysroot_linux-64==2.17
- tifffile>=2022.7.28
- xz
- yasm
- zlib
- zstd
- pip:
- opencv-python-headless>=4.6
name: all_cuda-120_arch-x86_64
6 changes: 6 additions & 0 deletions conda/recipes/cucim/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,11 @@ c_compiler_version:
cxx_compiler_version:
- 11

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

sysroot_version:
- "2.17"
22 changes: 18 additions & 4 deletions conda/recipes/cucim/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# Copyright (c) 2021-2023, NVIDIA CORPORATION.

{% set version = environ.get('GIT_DESCRIBE_TAG', '0.0.0.dev').lstrip('v') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[2] %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
{% set py_version = environ['CONDA_PY'] %}
{% set cuda_version = '.'.join(environ['RAPIDS_CUDA_VERSION'].split('.')[:2]) %}
{% set cuda_major = cuda_version.split('.')[0] %}
{% set cuda_spec = ">=" + cuda_major ~ ",<" + (cuda_major | int + 1) ~ ".0a0" %} # i.e. >=11,<12.0a0
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
{% set date_string = environ['RAPIDS_DATE_STRING'] %}


package:
name: cucim
version: {{ version }}
Expand Down Expand Up @@ -38,21 +40,33 @@ requirements:
build:
- {{ compiler("c") }}
- {{ compiler("cxx") }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}
- cmake >=3.23.1,!=3.25.0
- make
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
host:
- click
- cudatoolkit ={{ cuda_version }}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit
{% endif %}
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
- cupy >=12.0.0
- libcucim ={{ version }}
- numpy 1.21
- python
- scikit-image >=0.19.0,<0.21.0a0
- scipy
run:
- {{ pin_compatible('cudatoolkit', max_pin='x', min_pin='x') }}
- {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
{% if cuda_major == "11" %}
- cudatoolkit
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
{% endif %}
- {{ pin_compatible('numpy') }}
- click
- cupy >=12.0.0
Expand All @@ -64,7 +78,7 @@ requirements:

tests:
requirements:
- cudatoolkit ={{ cuda_version }}
- cuda-version ={{ cuda_version }}
imports:
- cucim

Expand Down
16 changes: 16 additions & 0 deletions conda/recipes/libcucim/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,24 @@ c_compiler_version:
cxx_compiler_version:
- 11

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

sysroot_version:
- "2.17"

libwebp_base_version:
- "<1.3a0"

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

cuda11_libcufile_host_version:
- "1.4.0.31"

cuda11_libcufile_run_version:
- ">=1.0.0.82,<=1.4.0.31"
29 changes: 27 additions & 2 deletions conda/recipes/libcucim/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
{% set cuda_version = '.'.join(environ['RAPIDS_CUDA_VERSION'].split('.')[:2]) %}
{% set cuda_major = cuda_version.split('.')[0] %}
{% set cuda_spec = ">=" + cuda_major ~ ",<" + (cuda_major | int + 1) ~ ".0a0" %} # i.e. >=11,<12.0a0
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
{% set date_string = environ['RAPIDS_DATE_STRING'] %}


package:
name: libcucim
version: {{ version }}
Expand Down Expand Up @@ -39,22 +41,45 @@ requirements:
build:
- {{ compiler("c") }}
- {{ compiler("cxx") }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}
- binutils
- cmake >=3.23.1,!=3.25.0
- make
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
- yasm # [x86_64]
host:
- cudatoolkit ={{ cuda_version }}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
- libcufile {{ cuda11_libcufile_host_version }} # [linux64]
- libcufile-dev {{ cuda11_libcufile_host_version }} # [linux64]
{% else %}
- libcufile-dev # [linux64]
- libnvjpeg-dev # [linux64]
{% endif %}
- jbig
- libwebp-base {{ libwebp_base_version }} # [linux or osx]
- nvtx-c >=3.1.0
- openslide
- xz
- zlib
- zstd
run:
- {{ pin_compatible('cudatoolkit', max_pin='x', min_pin='x') }}
- {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
{% if cuda_major == "11" %}
- cudatoolkit
- libcufile {{ cuda11_libcufile_run_version }} # [linux64]
{% else %}
- cuda-nvrtc
- libcufile # [linux64]
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
- libnvjpeg # [linux64]
{% endif %}
- {{ pin_compatible('libwebp-base', max_pin='x.x') }}
- jbig
# - openslide # skipping here but benchmark binary would need openslide library
Expand Down
35 changes: 30 additions & 5 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ files:
all:
output: conda
matrix:
cuda: ["11.8"]
cuda: ["11.8", "12.0"]
arch: [x86_64]
includes:
- build
Expand Down Expand Up @@ -66,12 +66,26 @@ dependencies:
arch: x86_64
cuda: "11.8"
packages:
- cuda-version=11.8
- nvcc_linux-64=11.8
- matrix:
arch: aarch64
cuda: "11.8"
packages:
- cuda-version=11.8
- nvcc_linux-aarch64=11.8
- matrix:
arch: x86_64
cuda: "12.0"
packages:
- cuda-version=12.0
- cuda-nvcc
- matrix:
arch: aarch64
cuda: "12.0"
packages:
- cuda-version=12.0
- cuda-nvcc
jakirkham marked this conversation as resolved.
Show resolved Hide resolved
checks:
common:
- output_types: [conda, requirements]
Expand All @@ -84,19 +98,30 @@ dependencies:
- matrix:
cuda: "11.2"
packages:
- cudatoolkit=11.2
- cuda-version=11.2
- cudatoolkit
- matrix:
cuda: "11.4"
packages:
- cudatoolkit=11.4
- cuda-version=11.4
- cudatoolkit
- matrix:
cuda: "11.5"
packages:
- cudatoolkit=11.5
- cuda-version=11.5
- cudatoolkit
- matrix:
cuda: "11.8"
packages:
- cudatoolkit=11.8
- cuda-version=11.8
- cudatoolkit
- matrix:
cuda: "12.0"
packages:
- cuda-version=12.0
- cuda-cudart-dev
- libnvjpeg-dev
- libcufile-dev
docs:
common:
- output_types: [conda, requirements]
Expand Down