Skip to content

Updating pytorch 2.10 and CUDA to 12.8 and 13.0#516

Open
swahtz wants to merge 9 commits intoopenvdb:mainfrom
swahtz:issue-511-pytorch-2-10
Open

Updating pytorch 2.10 and CUDA to 12.8 and 13.0#516
swahtz wants to merge 9 commits intoopenvdb:mainfrom
swahtz:issue-511-pytorch-2-10

Conversation

@swahtz
Copy link
Contributor

@swahtz swahtz commented Mar 6, 2026

This pull request updates the CI and build/test/dev environments to support CUDA 13.0 and PyTorch 2.10, and streamlines related configurations. The changes ensure compatibility with newer CUDA and PyTorch versions across build, test, and publish workflows, and update dependency versions in the environment files. GCC was also updated to 14.2 to align with VFX Reference Platform 2026. Additionally, some workflow logic and build scripts are improved for flexibility and maintainability.

Build and Dependency Upgrades:

  • Updated cuda-version to 13.0 and pytorch-gpu to 2.10.0 in env/build_environment.yml and env/dev_environment.yml. Also upgraded gcc_linux-64 and gxx_linux-64 to 14.2, and removed or relaxed some package pins for improved compatibility. [1] [2] [3] [4]
  • Explicitly install torch==2.10.0 in all relevant GitHub Actions workflow steps to ensure consistent PyTorch version across CUDA 12.8 and 13.0 builds. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

CI Workflow Enhancements:

  • Added CUDA 13.0 support to the build and publish matrices, including new cuda-image-tag mappings and dynamic container image selection for both nightly and standard publish workflows. [1] [2] [3] [4]
  • Updated auditwheel repair steps to dynamically exclude CUDA libraries based on the CUDA major version, improving maintainability for future CUDA releases. [1] [2]
  • Updated Conda environment overrides and setup steps to match the new CUDA 13.0 version in documentation and workflow files. [1] [2]

Miscellaneous Improvements:

  • Improved the build script (build.sh) to automatically detect and use the available ninja build tool if present, enhancing build speed and reliability.
  • Cleaned up workflow paths and references to match updated directory structures for package builds and benchmarks. [1] [2] [3]
  • Added a repository check to restrict nightly publishing jobs to the main repository.

closes #511

…s/build/deploy CI

Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
@swahtz swahtz added this to the v0.4 milestone Mar 6, 2026
@swahtz swahtz self-assigned this Mar 6, 2026
@swahtz swahtz added CI Issues related to the Github actions CI/CD. For build issues use CMake/Build cmake/build Issues related to building and CMake labels Mar 6, 2026
…ackages bucket)

Updated gcc version to 14.2 to match VFX Platform 2026

Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
@swahtz swahtz marked this pull request as ready for review March 9, 2026 06:21
@swahtz swahtz requested a review from a team as a code owner March 9, 2026 06:21
@swahtz swahtz requested review from fwilliams and phapalova March 9, 2026 06:21
swahtz added 7 commits March 9, 2026 19:22
Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
Update command syntax in nanovdb_editor CMake file to remove '-l' to not re-source /etc/profile and shell startup scripts which can reset PATH and makes us pickup the wrong 'ninja'

Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
…a binary

Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project’s CI/build configuration and conda environments to support CUDA 13.0 and PyTorch 2.10 (plus related toolchain bumps), and improves build/publish workflow flexibility.

Changes:

  • Bump conda environments to cuda-version=13.0, pytorch-gpu=2.10.0, and GCC/GXX 14.2; refresh a few pins and wheel URLs.
  • Update GitHub Actions workflows to install torch==2.10.0 explicitly and extend publish matrices to CUDA 12.8 + 13.0.
  • Improve build tooling by auto-detecting Ninja and plumbing CMAKE_MAKE_PROGRAM through the build + nanovdb_editor build step.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/cmake/get_nanovdb_editor.cmake Passes CMAKE_MAKE_PROGRAM through to the nanovdb_editor wheel build.
env/test_environment.yml Updates CUDA/PyTorch versions and switches TorchSparse/Scatter wheel URLs for PT 2.10 + CUDA 13.0.
env/learn_environment.yml Updates CUDA/PyTorch versions and corresponding pip wheel URLs.
env/dev_environment.yml Updates CUDA/PyTorch and GCC/GXX; relaxes pybind11 pin; updates wheel URLs.
env/build_environment.yml Updates CUDA/PyTorch and GCC/GXX; relaxes pybind11 pin; trims some packages.
build.sh Detects ninja/ninja-build and forwards it via CMAKE_MAKE_PROGRAM.
.github/workflows/publish.yml Expands publish matrix to CUDA 12.8 + 13.0 and adds CUDA-image selection + dynamic auditwheel excludes.
.github/workflows/nightly.yml Updates workflow paths to use repo-root env/, dist/, tests/, build/ locations.
.github/workflows/nightly-publish.yml Adds repo gate for nightly publish; expands matrix to CUDA 12.8 + 13.0; dynamic CUDA image selection + auditwheel excludes.
.github/workflows/docs.yml Updates CONDA_OVERRIDE_CUDA to 13.0 and passes it into micromamba setup.
.github/workflows/cu130.yml Pins torch==2.10.0 in UV install steps for CUDA 13.0 jobs.
.github/workflows/cu130-nightly.yml Pins torch==2.10.0 in UV install steps for CUDA 13.0 nightly jobs.
.github/workflows/cu128.yml Pins torch==2.10.0 in UV install steps for CUDA 12.8 jobs.
.github/workflows/cu128-nightly.yml Pins torch==2.10.0 in UV install steps for CUDA 12.8 nightly jobs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

run: |
uv venv
uv pip install --no-cache-dir -r fvdb/env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fvdb/env/build_requirements.txt does not exist in this repository (requirements files live under env/). This will cause the dependency install step to fail; update the path to the correct location.

Suggested change
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128
uv pip install --no-cache-dir torch==2.10.0 -r env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128

Copilot uses AI. Check for mistakes.
run: |
uv venv
uv pip install --no-cache-dir -r fvdb/env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fvdb/env/test_requirements.txt does not exist in this repository (requirements files live under env/). This will cause the dependency install step to fail; update the path to the correct location.

Suggested change
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128
uv pip install --no-cache-dir torch==2.10.0 -r env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu128

Copilot uses AI. Check for mistakes.
Comment on lines +62 to +66
include:
- cuda-version: '12.8'
cuda-image-tag: '12.8.1'
- cuda-version: '13.0'
cuda-image-tag: '13.0.2'
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The matrix.include entries only specify cuda-version and cuda-image-tag. In GitHub Actions this adds additional matrix jobs (with missing python-version/torch-version) rather than attaching cuda-image-tag to the existing Cartesian product, which will make steps like actions/setup-python and runner labels evaluate with empty matrix values. Prefer deriving cuda-image-tag from matrix.cuda-version via an expression/step output, or switch to an include-only matrix where each included entry specifies all matrix keys (python/torch/cuda + cuda-image-tag).

Copilot uses AI. Check for mistakes.
Comment on lines +67 to +70
- cuda-version: '12.8'
cuda-image-tag: '12.8.1'
- cuda-version: '13.0'
cuda-image-tag: '13.0.2'
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same matrix issue as in publish.yml: the include block here will create extra jobs that don't define python-version/torch-version, but later the workflow references those variables (runner label, setup-python, etc.). Use a mapping expression/step output for cuda-image-tag, or expand include to fully specify each matrix combination instead of mixing it with the Cartesian product.

Suggested change
- cuda-version: '12.8'
cuda-image-tag: '12.8.1'
- cuda-version: '13.0'
cuda-image-tag: '13.0.2'
- python-version: '3.10'
torch-version: '2.10'
cuda-version: '12.8'
cuda-image-tag: '12.8.1'
- python-version: '3.11'
torch-version: '2.10'
cuda-version: '12.8'
cuda-image-tag: '12.8.1'
- python-version: '3.12'
torch-version: '2.10'
cuda-version: '12.8'
cuda-image-tag: '12.8.1'
- python-version: '3.13'
torch-version: '2.10'
cuda-version: '12.8'
cuda-image-tag: '12.8.1'
- python-version: '3.10'
torch-version: '2.10'
cuda-version: '13.0'
cuda-image-tag: '13.0.2'
- python-version: '3.11'
torch-version: '2.10'
cuda-version: '13.0'
cuda-image-tag: '13.0.2'
- python-version: '3.12'
torch-version: '2.10'
cuda-version: '13.0'
cuda-image-tag: '13.0.2'
- python-version: '3.13'
torch-version: '2.10'
cuda-version: '13.0'
cuda-image-tag: '13.0.2'

Copilot uses AI. Check for mistakes.
run: |
uv venv
uv pip install --no-cache-dir -r fvdb/env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fvdb/env/build_requirements.txt does not exist in this repository (the requirements files live under env/). This will cause the job to fail when installing dependencies. Update the path to the correct location (and keep it consistent with the other workflows updated in this PR).

Suggested change
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
uv pip install --no-cache-dir torch==2.10.0 -r env/build_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130

Copilot uses AI. Check for mistakes.
run: |
uv venv
uv pip install --no-cache-dir -r fvdb/env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fvdb/env/test_requirements.txt does not exist in this repository (the requirements files live under env/). This will break dependency installation in the nightly test job; update the path to the correct location.

Suggested change
uv pip install --no-cache-dir torch==2.10.0 -r fvdb/env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
uv pip install --no-cache-dir torch==2.10.0 -r env/test_requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Issues related to the Github actions CI/CD. For build issues use CMake/Build cmake/build Issues related to building and CMake

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PyTorch 2.10 and CUDA build updates

2 participants