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

KvikIO: Build CUDA 12 packages #224

Merged
merged 55 commits into from
Jun 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
7228cb6
KvikIO: Build CUDA 12 packages
bdice May 25, 2023
9d1fd2e
Rerun CI with new workflows.
bdice May 25, 2023
4faf511
Fix pinnings.
bdice May 25, 2023
1cdce6d
Install cuda-nvcc.
bdice May 25, 2023
17c542f
Merge branch 'branch-23.08' into cuda-12-test
bdice May 26, 2023
77be7d4
Require cuda-cudart.
bdice May 26, 2023
c1c7025
Fix cuda-version.
bdice May 26, 2023
49181bf
Simplify CUDA 12 packaging using conda-forge channel.
bdice May 26, 2023
3b288aa
Remove extra deps.
bdice May 26, 2023
33d061b
Rerun with latest shared-action-workflows.
bdice May 26, 2023
372f31f
Merge branch 'branch-23.08' into cuda-12-test
bdice Jun 5, 2023
e3e6d12
Improve CUDA 12 packaging.
bdice Jun 6, 2023
a3bba64
Always pin to cuda-version according to major spec.
bdice Jun 6, 2023
7774a0b
Verify that in CUDA 11 it's finding via the CTK
vyasr Jun 6, 2023
480a178
Fix style
vyasr Jun 6, 2023
e2bad08
Try adding pkg-config to build requirements
vyasr Jun 6, 2023
c464b24
Use debug find
vyasr Jun 6, 2023
763af1b
Revert changes
vyasr Jun 7, 2023
c4092fb
Try putting pkg-config in host as WAR
vyasr Jun 7, 2023
39c4d26
Revert "Try putting pkg-config in host as WAR"
bdice Jun 12, 2023
2436a46
Test upstream changes in rapids-cmake.
bdice Jun 12, 2023
8e3d80b
Merge branch 'branch-23.08' into cuda-12-test
bdice Jun 12, 2023
79a9092
Support conda env
vyasr Jun 13, 2023
68febbb
Don't link to env
vyasr Jun 13, 2023
11492e1
Add non-dev libcufile package for testing
vyasr Jun 13, 2023
063cf53
Add a bunch of debug prints
vyasr Jun 13, 2023
054bad3
Fix style
vyasr Jun 13, 2023
93315bf
Remove constexpr...
vyasr Jun 13, 2023
24a9e3d
More prints
vyasr Jun 13, 2023
b87873f
Revert "More prints"
vyasr Jun 13, 2023
5f098f4
Revert "Remove constexpr..."
vyasr Jun 13, 2023
3a65416
Revert "Fix style"
vyasr Jun 13, 2023
8a87f0b
Revert "Add a bunch of debug prints"
vyasr Jun 13, 2023
4c5c1f3
Disable the batch API when in compatibility mode
madsbk Jun 13, 2023
241b535
use the mangled name of the `CUfileOpError`
madsbk Jun 13, 2023
bb3ca3c
Merge branch 'batch_api_and_compat_mode' into cuda-12-test
bdice Jun 13, 2023
33937b8
Make cuda-python specific
vyasr Jun 13, 2023
5fbfcff
Go back to using main repo
vyasr Jun 13, 2023
e92eaf8
Remove cudf dep and some other minor adjacent cleanup
vyasr Jun 13, 2023
a0a7b59
Add cudf back to all requirements in case that's used to run the note…
vyasr Jun 13, 2023
49d75ee
Move libcufile dependencies to separate list.
bdice Jun 13, 2023
0f934e7
Alphabetize dependency lists.
bdice Jun 13, 2023
5451cda
Merge branch 'branch-23.08' into cuda-12-test
bdice Jun 21, 2023
5c02adb
Ignore ctk run exports for CUDA 11
vyasr Jun 21, 2023
2daf310
Use cuda-version consistently
vyasr Jun 21, 2023
05e44b6
Update cuda-python dep
vyasr Jun 21, 2023
111bda5
Add nvcc package
vyasr Jun 21, 2023
7b699f3
Add CUDA 12 env
vyasr Jun 21, 2023
d52bcc6
Use one more pin_compatible
vyasr Jun 21, 2023
afd3dc0
Remove unused cuda_spec definition.
bdice Jun 21, 2023
b00ab70
Always pin cuda_version regardless of CUDA major version.
bdice Jun 21, 2023
d8cb015
Add = to libkvikio specifier.
bdice Jun 21, 2023
2677b8e
Pin cuda-version for both CUDA 11 and 12.
bdice Jun 21, 2023
4d8fd6e
Update host packages for libkvikio-tests.
bdice Jun 22, 2023
fbcb1b0
Add cuda-cudart-dev to libkvikio-tests host dependencies.
bdice Jun 22, 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 @@ -37,7 +37,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 @@ -46,7 +46,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 All @@ -56,7 +56,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 Down
14 changes: 7 additions & 7 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,38 +19,38 @@ 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-cpp-tests:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120
with:
build_type: pull-request
conda-python-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.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
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:
cpp-tests:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.08
uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
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 @@ -8,7 +8,7 @@ channels:
dependencies:
- c-compiler
- cmake>=3.26.4
- cuda-python>=11.7.1,<12.0
- cuda-python>=11.7.1,<12.0a0
- cudatoolkit=11.8
- cudf==23.8.*
- cupy>=12.0.0
Expand All @@ -22,6 +22,7 @@ dependencies:
- libcufile=1.4.0.31
- ninja
- numpy>=1.21
- nvcc_linux-64=11.8
- packaging
- pre-commit
- pydata-sphinx-theme
Expand Down
36 changes: 36 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,36 @@
# 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:
- c-compiler
- cmake>=3.26.4
- cuda-nvcc
- cuda-python>=12.0,<13.0a0
- cuda-version=12.0
- cudf==23.8.*
- cupy>=12.0.0
- cxx-compiler
- cython>=0.29,<0.30
- dask>=2022.05.2
- distributed>=2022.05.2
- doxygen=1.8.20
- gcc_linux-64=11.*
- libcufile
- libcufile-dev
- ninja
- numpy>=1.21
- packaging
- pre-commit
- pydata-sphinx-theme
- pytest
- pytest-cov
- python>=3.9,<3.11
- scikit-build>=0.13.1
- sphinx<6
- sysroot_linux-64=2.17
- zarr
name: all_cuda-120_arch-x86_64
3 changes: 3 additions & 0 deletions conda/recipes/kvikio/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ cxx_compiler_version:
- 11

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

sysroot_version:
Expand Down
21 changes: 17 additions & 4 deletions conda/recipes/kvikio/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,31 +36,44 @@ build:
- cd python
- python -m pip install . -vv
ignore_run_exports_from:
- {{ compiler('cuda') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% endif %}

requirements:
build:
- cmake {{ cmake_version }}
- ninja
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ compiler('cuda') }} {{ cuda_version }}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- sysroot_{{ target_platform }} {{ sysroot_version }}
host:
- python
- setuptools
- pip
- cython >=0.29,<0.30
- cudatoolkit {{ cuda_version }}.*
{% if cuda_major == "11" %}
- cudatoolkit ={{ cuda_version }}
{% endif %}
- cuda-version ={{ cuda_version }}
- scikit-build >=0.13.1
- libkvikio {{ version }}
- libkvikio ={{ version }}
run:
- python
- numpy >=1.20
- cupy >=12.0.0
- zarr
- packaging
- {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
{% if cuda_major == "11" %}
- {{ pin_compatible('cudatoolkit', max_pin='x', min_pin='x') }}
{% endif %}

test:
requires:
Expand Down
13 changes: 8 additions & 5 deletions conda/recipes/libkvikio/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,20 @@ cmake_version:
- ">=3.26.4"

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

sysroot_version:
- "2.17"

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

libcufile_host_version:
cuda11_libcufile_host_version:
- "1.4.0.31"

libcufile_run_version:
cuda11_libcufile_run_version:
- ">=1.0.0.82,<=1.4.0.31"
50 changes: 42 additions & 8 deletions conda/recipes/libkvikio/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,23 @@ requirements:
- cmake {{ cmake_version }}
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ compiler('cuda') }} {{ cuda_version }}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
host:
- cudatoolkit {{ cuda_version }}.*
- libcufile {{ libcufile_host_version }} # [linux64]
- libcufile-dev {{ libcufile_host_version }} # [linux64]
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit ={{ cuda_version }}
- libcufile {{ cuda11_libcufile_host_version }} # [linux64]
- libcufile-dev {{ cuda11_libcufile_host_version }} # [linux64]
{% else %}
- libcufile-dev # [linux64]
{% endif %}

outputs:
- name: libkvikio
Expand All @@ -53,13 +63,22 @@ outputs:
string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
run_exports:
- {{ pin_subpackage("libkvikio", max_pin="x.x") }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% endif %}
requirements:
build:
- cmake {{ cmake_version }}
run:
- cuda-version {{ cuda_spec }}
{% if cuda_major == "11" %}
- cudatoolkit {{ cuda_spec }}
- libcufile {{ libcufile_run_version }} # [linux64]
- libcufile-dev {{ libcufile_run_version }} # [linux64]
- libcufile {{ cuda11_libcufile_run_version }} # [linux64]
- libcufile-dev {{ cuda11_libcufile_run_version }} # [linux64]
{% else %}
- libcufile-dev # [linux64]
{% endif %}
test:
commands:
- test -f $PREFIX/include/kvikio/file_handle.hpp
Expand All @@ -75,13 +94,28 @@ outputs:
build:
number: {{ GIT_DESCRIBE_NUMBER }}
string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% endif %}
requirements:
build:
- cmake {{ cmake_version }}
host:
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cudatoolkit ={{ cuda_version }}
- libcufile {{ cuda11_libcufile_run_version }} # [linux64]
{% else %}
- cuda-cudart-dev
- libcufile-dev # [linux64]
{% endif %}
run:
bdice marked this conversation as resolved.
Show resolved Hide resolved
- cuda-version {{ cuda_spec }}
{% if cuda_major == "11" %}
- cudatoolkit {{ cuda_spec }}
- libcufile {{ libcufile_run_version }} # [linux64]
- libcufile-dev {{ libcufile_run_version }} # [linux64]
- libcufile {{ cuda11_libcufile_run_version }} # [linux64]
{% endif %}
about:
home: https://rapids.ai
license: Apache-2.0
Expand Down
2 changes: 2 additions & 0 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ rapids_cmake_build_type(Release)
# build options
option(KvikIO_BUILD_EXAMPLES "Configure CMake to build examples" ON)

rapids_cmake_support_conda_env(conda_env MODIFY_PREFIX_PATH)

# find packages we depend on
rapids_cpm_init()

Expand Down
Loading