diff --git a/.devcontainer/cuda13.0-conda/devcontainer.json b/.devcontainer/cuda13.0-conda/devcontainer.json new file mode 100644 index 00000000..5a099329 --- /dev/null +++ b/.devcontainer/cuda13.0-conda/devcontainer.json @@ -0,0 +1,44 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "13.0", + "PYTHON_PACKAGE_MANAGER": "conda", + "BASE": "rapidsai/devcontainers:25.10-cpp-mambaforge" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.10-cuda13.0-conda", + "--ulimit", + "nofile=500000" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.10": {} + }, + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda13.0-envs}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/ucxx,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda13.0-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] + } + } +} diff --git a/.devcontainer/cuda13.0-pip/devcontainer.json b/.devcontainer/cuda13.0-pip/devcontainer.json new file mode 100644 index 00000000..a65233f2 --- /dev/null +++ b/.devcontainer/cuda13.0-pip/devcontainer.json @@ -0,0 +1,43 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "13.0", + "PYTHON_PACKAGE_MANAGER": "pip", + "BASE": "rapidsai/devcontainers:25.10-cpp-cuda13.0-ucx1.19.0-openmpi5.0.7" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.10-cuda13.0-pip", + "--ulimit", + "nofile=500000" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.10": {} + }, + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda13.0-venvs}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/ucxx,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda13.0-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] + } + } +} diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a2b21a98..e208d2c0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -34,7 +34,7 @@ concurrency: jobs: conda-cpp-build: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -45,7 +45,7 @@ jobs: if: github.ref_type == 'branch' needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -58,7 +58,7 @@ jobs: upload-conda: needs: [conda-cpp-build] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -66,7 +66,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build-libucxx: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -80,7 +80,7 @@ jobs: wheel-publish-libucxx: needs: wheel-build-libucxx secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -91,7 +91,7 @@ jobs: wheel-build-ucxx: needs: wheel-build-libucxx secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -103,7 +103,7 @@ jobs: wheel-publish-ucxx: needs: wheel-build-ucxx secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -113,7 +113,7 @@ jobs: package-type: python wheel-build-distributed-ucxx: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -125,7 +125,7 @@ jobs: wheel-publish-distributed-ucxx: needs: [wheel-build-ucxx, wheel-build-distributed-ucxx] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@cuda13.0 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 2d8734c5..916ecb27 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -25,7 +25,7 @@ jobs: - wheel-tests-distributed-ucxx - telemetry-setup secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@cuda13.0 if: always() with: needs: ${{ toJSON(needs) }} @@ -52,7 +52,7 @@ jobs: changed-files: secrets: inherit needs: telemetry-setup - uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@cuda13.0 with: files_yaml: | test_cpp: @@ -74,7 +74,7 @@ jobs: - '!docs/**' checks: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@cuda13.0 needs: telemetry-setup with: enable_check_generated_files: false @@ -82,14 +82,14 @@ jobs: conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@cuda13.0 with: build_type: pull-request script: ci/build_cpp.sh docs-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@cuda13.0 with: build_type: pull-request node_type: "gpu-l4-latest-1" @@ -99,7 +99,7 @@ jobs: conda-cpp-tests: needs: [conda-cpp-build, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp with: build_type: pull-request @@ -108,7 +108,7 @@ jobs: conda-python-tests: needs: [conda-cpp-build, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python with: build_type: pull-request @@ -117,7 +117,7 @@ jobs: conda-python-distributed-tests: needs: [conda-cpp-build, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python with: build_type: pull-request @@ -126,7 +126,7 @@ jobs: wheel-build-libucxx: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: pull-request script: ci/build_wheel_libucxx.sh @@ -137,7 +137,7 @@ jobs: wheel-build-ucxx: needs: wheel-build-libucxx secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: pull-request script: ci/build_wheel_ucxx.sh @@ -146,7 +146,7 @@ jobs: wheel-tests-ucxx: needs: [wheel-build-ucxx, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python with: build_type: pull-request @@ -155,7 +155,7 @@ jobs: wheel-build-distributed-ucxx: needs: checks secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@cuda13.0 with: build_type: pull-request script: ci/build_wheel_distributed_ucxx.sh @@ -164,7 +164,7 @@ jobs: wheel-tests-distributed-ucxx: needs: [wheel-build-ucxx, wheel-build-distributed-ucxx, changed-files] secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0 if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python with: build_type: pull-request @@ -173,10 +173,10 @@ jobs: devcontainer: secrets: inherit needs: [checks, telemetry-setup] - uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/build-in-devcontainer.yaml@cuda13.0 with: arch: '["amd64", "arm64"]' - cuda: '["12.9"]' + cuda: '["13.0"]' node_type: "cpu8" rapids-aux-secret-1: GIST_REPO_READ_ORG_GITHUB_TOKEN env: | diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 98f11937..366c2804 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -25,7 +25,7 @@ on: jobs: conda-cpp-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -35,7 +35,7 @@ jobs: container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000" conda-python-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -45,7 +45,7 @@ jobs: container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000" conda-python-distributed-tests: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} script: "ci/test_python_distributed.sh" @@ -55,7 +55,7 @@ jobs: container-options: "--cap-add CAP_SYS_PTRACE --shm-size=8g --ulimit=nofile=1000000:1000000" wheel-tests-ucxx: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} @@ -65,7 +65,7 @@ jobs: script: ci/test_wheel_ucxx.sh wheel-tests-distributed-ucxx: secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@cuda13.0 with: build_type: ${{ inputs.build_type }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/trigger-breaking-change-alert.yaml b/.github/workflows/trigger-breaking-change-alert.yaml index 48bf37af..72751d07 100644 --- a/.github/workflows/trigger-breaking-change-alert.yaml +++ b/.github/workflows/trigger-breaking-change-alert.yaml @@ -12,7 +12,7 @@ jobs: trigger-notifier: if: contains(github.event.pull_request.labels.*.name, 'breaking') secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@branch-25.10 + uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@cuda13.0 with: sender_login: ${{ github.event.sender.login }} sender_avatar: ${{ github.event.sender.avatar_url }} diff --git a/README.md b/README.md index 5fac914a..cba122ae 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,10 @@ UCXX is an object-oriented C++ interface for UCX, with native support for Python ### Environment setup -Before starting it is necessary to have the necessary dependencies installed. The simplest way to get started is to install [Miniforge](https://github.com/conda-forge/miniforge) and then to create and activate an environment with the provided development file, for CUDA 12.x: +Before starting it is necessary to have the necessary dependencies installed. The simplest way to get started is to install [Miniforge](https://github.com/conda-forge/miniforge) and then to create and activate an environment with the provided development file, for CUDA 13.x: ``` -$ conda env create -n ucxx -f conda/environments/all_cuda-128_arch-x86_64.yaml +$ conda env create -n ucxx -f conda/environments/all_cuda-130_arch-x86_64.yaml ``` And then activate the newly created environment: @@ -29,7 +29,7 @@ $ conda install -c conda-forge mamba After that, one can proceed as before, but simply replacing `conda` with `mamba` in the environment creation command: ``` -$ mamba env create -n ucxx -f conda/environments/all_cuda-128_arch-x86_64.yaml +$ mamba env create -n ucxx -f conda/environments/all_cuda-130_arch-x86_64.yaml $ conda activate ucxx ``` diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml index 4beabe72..d950afe1 100644 --- a/conda/environments/all_cuda-129_arch-aarch64.yaml +++ b/conda/environments/all_cuda-129_arch-aarch64.yaml @@ -14,7 +14,7 @@ dependencies: - cuda-nvcc - cuda-version=12.9 - cudf==25.10.*,>=0.0.0a0 -- cupy>=12.0.0 +- cupy>=13.6.0 - cxx-compiler - cython>=3.0.0 - dask-cuda==25.10.*,>=0.0.0a0 diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml index b3156161..cac06fa2 100644 --- a/conda/environments/all_cuda-129_arch-x86_64.yaml +++ b/conda/environments/all_cuda-129_arch-x86_64.yaml @@ -14,7 +14,7 @@ dependencies: - cuda-nvcc - cuda-version=12.9 - cudf==25.10.*,>=0.0.0a0 -- cupy>=12.0.0 +- cupy>=13.6.0 - cxx-compiler - cython>=3.0.0 - dask-cuda==25.10.*,>=0.0.0a0 diff --git a/conda/environments/all_cuda-130_arch-aarch64.yaml b/conda/environments/all_cuda-130_arch-aarch64.yaml new file mode 100644 index 00000000..417e6bcd --- /dev/null +++ b/conda/environments/all_cuda-130_arch-aarch64.yaml @@ -0,0 +1,39 @@ +# 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 +dependencies: +- autoconf +- automake +- c-compiler +- cloudpickle +- cmake>=3.26.4,!=3.30.0 +- cuda-cudart-dev +- cuda-nvcc +- cuda-version=13.0 +- cupy>=13.6.0 +- cxx-compiler +- cython>=3.0.0 +- doxygen=1.9.1 +- librmm==25.10.*,>=0.0.0a0 +- libtool +- ninja +- numba-cuda>=0.19.0,<0.20.0a0 +- numpy>=1.23,<3.0a0 +- pip +- pkg-config +- pre-commit +- pynvml>=12.0.0,<13.0.0a0 +- pytest +- pytest-asyncio>=1.0.0 +- pytest-rerunfailures +- python>=3.10,<3.14 +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- rapids-dask-dependency==25.10.*,>=0.0.0a0 +- rmm==25.10.*,>=0.0.0a0 +- scikit-build-core>=0.10.0 +- setuptools>=64.0.0 +- ucx>=1.19.0,<1.20 +name: all_cuda-130_arch-aarch64 diff --git a/conda/environments/all_cuda-130_arch-x86_64.yaml b/conda/environments/all_cuda-130_arch-x86_64.yaml new file mode 100644 index 00000000..c11644fb --- /dev/null +++ b/conda/environments/all_cuda-130_arch-x86_64.yaml @@ -0,0 +1,39 @@ +# 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 +dependencies: +- autoconf +- automake +- c-compiler +- cloudpickle +- cmake>=3.26.4,!=3.30.0 +- cuda-cudart-dev +- cuda-nvcc +- cuda-version=13.0 +- cupy>=13.6.0 +- cxx-compiler +- cython>=3.0.0 +- doxygen=1.9.1 +- librmm==25.10.*,>=0.0.0a0 +- libtool +- ninja +- numba-cuda>=0.19.0,<0.20.0a0 +- numpy>=1.23,<3.0a0 +- pip +- pkg-config +- pre-commit +- pynvml>=12.0.0,<13.0.0a0 +- pytest +- pytest-asyncio>=1.0.0 +- pytest-rerunfailures +- python>=3.10,<3.14 +- rapids-build-backend>=0.4.0,<0.5.0.dev0 +- rapids-dask-dependency==25.10.*,>=0.0.0a0 +- rmm==25.10.*,>=0.0.0a0 +- scikit-build-core>=0.10.0 +- setuptools>=64.0.0 +- ucx>=1.19.0,<1.20 +name: all_cuda-130_arch-x86_64 diff --git a/conda/recipes/ucxx/conda_build_config.yaml b/conda/recipes/ucxx/conda_build_config.yaml index acd15a89..a8aaf367 100644 --- a/conda/recipes/ucxx/conda_build_config.yaml +++ b/conda/recipes/ucxx/conda_build_config.yaml @@ -23,7 +23,8 @@ python: - 3.13 ucx: - - "==1.17.*" + - "==1.17.*" # [os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("12")] + - "==1.19.*" # [not os.environ.get("RAPIDS_CUDA_VERSION", "").startswith("12")] gmock: - ">=1.13.0" diff --git a/conda/recipes/ucxx/recipe.yaml b/conda/recipes/ucxx/recipe.yaml index f3985020..9bd8cfa7 100644 --- a/conda/recipes/ucxx/recipe.yaml +++ b/conda/recipes/ucxx/recipe.yaml @@ -270,7 +270,7 @@ outputs: - ${{ pin_compatible("rmm", upper_bound="x.x") }} - ${{ pin_subpackage("libucxx", exact=True) }} run_constraints: - - cupy >=9.5.0 + - cupy >=13.6.0 ignore_run_exports: by_name: - cuda-cudart diff --git a/dependencies.yaml b/dependencies.yaml index cb909436..60392fe7 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -3,7 +3,7 @@ files: all: output: conda matrix: - cuda: ["12.9"] + cuda: ["12.9", "13.0"] arch: [x86_64, aarch64] includes: - build_cpp @@ -225,15 +225,16 @@ dependencies: cuda: "12.9" packages: - cuda-version=12.9 - cuda: - specific: - - output_types: conda - matrices: - matrix: - cuda: "12.*" + cuda: "13.0" packages: - - cuda-cudart-dev - - cuda-nvcc + - cuda-version=13.0 + cuda: + common: + - output_types: [conda] + packages: + - cuda-cudart-dev + - cuda-nvcc dev: common: - output_types: [conda] @@ -241,8 +242,6 @@ dependencies: # These packages are useful for development but not otherwise required to build/run # RAPIDS - pip - - dask-cuda==25.10.*,>=0.0.0a0 - - dask-cudf==25.10.*,>=0.0.0a0 # UCX Build - libtool - automake @@ -251,6 +250,18 @@ dependencies: - pkg-config # Docs Build - &doxygen doxygen=1.9.1 # pre-commit hook needs a specific version. + specific: + - output_types: [conda] + matrices: + - matrix: + cuda: "12.*" + packages: + - dask-cuda==25.10.*,>=0.0.0a0 + - dask-cudf==25.10.*,>=0.0.0a0 + # TODO: add 'dask-cuda' and 'dask-cudf' back to this 'dev' dependency list once there are CUDA 13 packages for those + # ref: https://github.com/rapidsai/ucxx/pull/489#issuecomment-3207723017 + - matrix: + packages: docs: common: - output_types: [conda] @@ -291,12 +302,14 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" packages: - &numba_cuda_cu12 numba-cuda[cu12]>=0.19.0,<0.20.0a0 - - matrix: # Fallback for no matrix + # fallback to CUDA 13 versions if 'cuda' is '13.*' or not provided + - matrix: packages: - - *numba_cuda_cu12 + - &numba_cuda_cu13 numba-cuda[cu13]>=0.19.0,<0.20.0a0 run_python_distributed_ucxx: common: - output_types: [conda, requirements, pyproject] @@ -308,12 +321,14 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" packages: - *numba_cuda_cu12 - - matrix: # Fallback for no matrix + # fallback to CUDA 13 versions if 'cuda' is '13.*' or not provided + - matrix: packages: - - *numba_cuda_cu12 + - *numba_cuda_cu13 test_cpp: common: - output_types: conda @@ -339,14 +354,18 @@ dependencies: common: - output_types: conda packages: - - cupy>=12.0.0 + - cupy>=13.6.0 specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} - packages: &cupy_packages_cu12 - - cupy-cuda12x>=12.0.0 - - {matrix: null, packages: *cupy_packages_cu12} + - matrix: + cuda: "12.*" + packages: + - cupy-cuda12x>=13.6.0 + # fallback to CUDA 13 versions if 'cuda' is '13.*' or not provided + - matrix: + packages: + - &cupy_cuda13 cupy-cuda13x>=13.6.0 depends_on_librmm: common: - output_types: conda @@ -360,9 +379,16 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - librmm-cu12==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - librmm-cu13==25.10.*,>=0.0.0a0 - {matrix: null, packages: [*librmm_unsuffixed]} depends_on_rmm: common: @@ -382,18 +408,34 @@ dependencies: cuda_suffixed: "true" packages: - rmm-cu12==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - rmm-cu13==25.10.*,>=0.0.0a0 - {matrix: null, packages: [*rmm_unsuffixed]} + # TODO: re-include cudf on CUDA 13 here once cudf CUDA 13 packages exist + # ref: https://github.com/rapidsai/ucxx/pull/489#issuecomment-3207723017 depends_on_cudf: common: - - output_types: conda - packages: - - &cudf_unsuffixed cudf==25.10.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file - --extra-index-url=https://pypi.nvidia.com - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: + - output_types: [conda] + matrices: + - matrix: + cuda: "12.*" + packages: + - &cudf_unsuffixed cudf==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + packages: + - matrix: + packages: + - *cudf_unsuffixed - output_types: [requirements, pyproject] matrices: - matrix: @@ -401,6 +443,9 @@ dependencies: cuda_suffixed: "true" packages: - cudf-cu12==25.10.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + packages: - {matrix: null, packages: [*cudf_unsuffixed]} depends_on_distributed_ucxx: common: @@ -411,7 +456,7 @@ dependencies: common: - output_types: conda packages: - - libucxx==0.46.*,>=0.0.0a0 + - &libucxx_unsuffixed libucxx==0.46.*,>=0.0.0a0 specific: - output_types: [requirements, pyproject] matrices: @@ -420,9 +465,14 @@ dependencies: cuda_suffixed: "true" packages: - libucxx-cu12==0.46.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - libucxx-cu13==0.46.*,>=0.0.0a0 - matrix: packages: - - libucxx==0.46.*,>=0.0.0a0 + - *libucxx_unsuffixed depends_on_libucxx_examples: common: - output_types: conda @@ -451,6 +501,11 @@ dependencies: cuda_suffixed: "true" packages: - ucxx-cu12==0.46.*,>=0.0.0a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - ucxx-cu13==0.46.*,>=0.0.0a0 - {matrix: null, packages: [*ucxx_unsuffixed]} depends_on_ucxx_tests: common: @@ -459,15 +514,24 @@ dependencies: - ucxx-tests==0.46.*,>=0.0.0a0 depends_on_ucx_build: common: - - output_types: conda - packages: - - ucx==1.17.0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file - --extra-index-url=https://pypi.nvidia.com - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: + - output_types: [conda] + matrices: + - matrix: + cuda: "12.*" + packages: + - ucx==1.17.0 + # build against 1.19.0 on CUDA 13 (and make that the default when 'cuda' filter is not provided) + - matrix: + packages: + - ucx==1.19.0 + # very tight >=x.x.x,=1.17.0,<1.17.1a0 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - libucx-cu13>=1.19.0,<1.19.1a0 - matrix: packages: - - libucx>=1.17.0,<1.17.1a0 + - libucx>=1.19.0,<1.19.1a0 depends_on_ucx_run: common: - - output_types: conda - packages: - - ucx>=1.17.0,<1.20 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file - --extra-index-url=https://pypi.nvidia.com - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: + - output_types: [conda] + matrices: + - matrix: + cuda: "12.*" + packages: + - ucx>=1.17.0,<1.20 + # require at least 1.19.0 on CUDA 13 (and make that the default when 'cuda' filter is not provided) + - matrix: + packages: + - ucx>=1.19.0,<1.20 - output_types: [requirements, pyproject] matrices: - matrix: @@ -496,6 +572,12 @@ dependencies: cuda_suffixed: "true" packages: - libucx-cu12>=1.17.0,<1.20 + - matrix: + cuda: "13.*" + cuda_suffixed: "true" + packages: + - libucx-cu13>=1.19.0,<1.20 + # require at least 1.19.0 (CUDA 13 floor) if 'cuda' filter is not provided - matrix: packages: - - libucx>=1.17.0,<1.20 + - libucx>=1.19.0,<1.20 diff --git a/python/distributed-ucxx/pyproject.toml b/python/distributed-ucxx/pyproject.toml index 747a9166..e2af5bcf 100644 --- a/python/distributed-ucxx/pyproject.toml +++ b/python/distributed-ucxx/pyproject.toml @@ -18,7 +18,7 @@ authors = [ license = { text = "BSD-3-Clause" } requires-python = ">=3.10" dependencies = [ - "numba-cuda[cu12]>=0.19.0,<0.20.0a0", + "numba-cuda[cu13]>=0.19.0,<0.20.0a0", "rapids-dask-dependency==25.10.*,>=0.0.0a0", "ucxx==0.46.*,>=0.0.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. @@ -43,7 +43,7 @@ docs = [ ] test = [ "cudf==25.10.*,>=0.0.0a0", - "cupy-cuda12x>=12.0.0", + "cupy-cuda13x>=13.6.0", "numpy>=1.23,<3.0a0", "pytest", "pytest-rerunfailures", diff --git a/python/libucxx/pyproject.toml b/python/libucxx/pyproject.toml index 93da861f..d19b6674 100644 --- a/python/libucxx/pyproject.toml +++ b/python/libucxx/pyproject.toml @@ -30,7 +30,7 @@ classifiers = [ ] dependencies = [ "librmm==25.10.*,>=0.0.0a0", - "libucx>=1.17.0,<1.20", + "libucx>=1.19.0,<1.20", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project.urls] @@ -63,7 +63,7 @@ matrix-entry = "cuda_suffixed=true" requires = [ "cmake>=3.26.4,!=3.30.0", "librmm==25.10.*,>=0.0.0a0", - "libucx>=1.17.0,<1.17.1a0", + "libucx>=1.19.0,<1.19.1a0", "ninja", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. diff --git a/python/ucxx/pyproject.toml b/python/ucxx/pyproject.toml index fc85f886..6b0c12ec 100644 --- a/python/ucxx/pyproject.toml +++ b/python/ucxx/pyproject.toml @@ -20,7 +20,7 @@ license = { text = "BSD-3-Clause" } requires-python = ">=3.10" dependencies = [ "libucxx==0.46.*,>=0.0.0a0", - "numba-cuda[cu12]>=0.19.0,<0.20.0a0", + "numba-cuda[cu13]>=0.19.0,<0.20.0a0", "numpy>=1.23,<3.0a0", "pynvml>=12.0.0,<13.0.0a0", "rmm==25.10.*,>=0.0.0a0", @@ -41,7 +41,7 @@ classifiers = [ test = [ "cloudpickle", "cudf==25.10.*,>=0.0.0a0", - "cupy-cuda12x>=12.0.0", + "cupy-cuda13x>=13.6.0", "pytest", "pytest-asyncio>=1.0.0", "pytest-rerunfailures",