Skip to content

Switch to cuda-toolkit metapackage for wheel dependencies with streamlined documentation - #883

Merged
leofang merged 13 commits into
mainfrom
copilot/fix-853
Aug 22, 2025
Merged

Switch to cuda-toolkit metapackage for wheel dependencies with streamlined documentation#883
leofang merged 13 commits into
mainfrom
copilot/fix-853

Conversation

CopilotAI commented Aug 21, 2025

Copy link
Copy Markdown
Contributor

This PR migrates all NVIDIA wheel dependencies from individual packages to the new cuda-toolkit metapackage, providing safer version constraints, and adds streamlined documentation for the changes.

Changes Made

Dependency Migration:

  • cuda_bindings/pyproject.toml: Updated optional dependencies in the [all] section to use cuda-toolkit[nvrtc,nvjitlink,nvvm]==13.* (no longer includes nvcc as it was only needed for libNVVM access, which now has its own dedicated wheel)
  • cuda_core/pyproject.toml: Updated test dependencies to use cuda-toolkit[cudart] with appropriate version constraints and added test-cu13 dependency now that cupy-cuda13x is available
  • cuda_pathfinder/pyproject.toml: Migrated from individual wheels to equivalent cuda-toolkit extras, including nvcc for both cu12 and cu13 sections

Documentation Updates:

  • Release Notes: Added streamlined release notes documenting the dependency migration
  • Installation Guides: Updated to list specific NVIDIA packages (without version suffixes for CUDA 13) installed through cuda-toolkit metapackage
  • Conda Documentation: Added example usage of cuda-version metapackage to control CUDA Toolkit components

Important Notes

NVCC Compiler Changes:

  • cuda-bindings: NVCC compiler is no longer automatically installed with pip install cuda-python[all]. Previously, NVCC was included only to access the NVVM library, but CUDA 13 now provides NVVM as a separate wheel (nvidia-nvvm). Users who need the NVCC compiler should explicitly install it: pip install nvidia-cuda-nvcc
  • cuda-pathfinder: Still includes NVCC in its wheel dependencies as it requires the compiler for its functionality

Benefits

  • Simplified maintenance: Single metapackage instead of managing multiple individual wheel versions
  • Cleaner dependency specifications: Multiple related components combined into single dependency lines
  • Complete CUDA 13 support: Now includes test dependencies for CUDA 13.x
  • Backward compatibility: Installation commands remain identical for users not relying on NVCC in cuda-bindings

Fixes#853.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@copy-pr-bot

Copy link
Copy Markdown
Contributor

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
CopilotAI changed the title [WIP] Switch to use the new cuda-toolkit metapackage to constraint Python wheel dependenciesSwitch to cuda-toolkit metapackage for wheel dependenciesAug 21, 2025
CopilotAI requested a review from leofangAugust 21, 2025 18:35

@leofangleofang left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@copilot

Comment threadcuda_bindings/pyproject.toml Outdated
@github-project-automationgithub-project-automationBot moved this from Todo to In Progress in CCCLAug 21, 2025
- cuda_bindings: merge nvcc,nvrtc,nvjitlink,nvvm into single line
- cuda_pathfinder: merge all extras except cufile (platform conditional) for cu12/cu13
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
CopilotAI requested a review from leofangAugust 21, 2025 18:42

@leofangleofang left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@copilot

Comment threadcuda_core/pyproject.toml Outdated
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
CopilotAI requested a review from leofangAugust 21, 2025 18:47
@leofang

Copy link
Copy Markdown
Member

/ok to test 6a12072

@github-actions

This comment has been minimized.

@leofangleofang added P0 High priority - Must do! packaging Anything related to wheels or Conda packages cuda.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module cuda.pathfinder Everything related to the cuda.pathfinder module labels Aug 21, 2025
@leofangleofang added this to the cuda.core beta 7 milestone Aug 21, 2025
…pathfinder
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
CopilotAI changed the title Switch to cuda-toolkit metapackage for wheel dependencies with NVCC removal and streamlined documentationSwitch to cuda-toolkit metapackage for wheel dependencies with streamlined documentationAug 22, 2025
CopilotAI requested a review from leofangAugust 22, 2025 01:19
Comment threadcuda_bindings/docs/source/release/13.X.Y-notes.rst Outdated
@leofang
leofang marked this pull request as ready for review August 22, 2025 01:29
@leofang

Copy link
Copy Markdown
Member

/ok to test 5d4e179

Comment threadcuda_bindings/docs/source/install.md Outdated
Comment threadcuda_core/docs/source/install.md
Comment threadcuda_bindings/docs/source/install.md Outdated
Comment threadcuda_bindings/docs/source/release/13.X.Y-notes.rst Outdated
Comment threadcuda_bindings/docs/source/install.md Outdated
Comment threadcuda_bindings/docs/source/install.md Outdated
Comment threadcuda_bindings/docs/source/release/13.X.Y-notes.rst Outdated
…tes grammar
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
CopilotAI requested a review from leofangAugust 22, 2025 17:47

@rwgkrwgk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I added the two "the" manually: commit cd7c41c

Comment threadcuda_bindings/pyproject.toml
@github-project-automationgithub-project-automationBot moved this from In Progress to In Review in CCCLAug 22, 2025
@leofang

Copy link
Copy Markdown
Member

Thanks, guys! Since the CI was green and last two commits are doc change-only, let me admin-merge.

@leofang
leofang merged commit 459bbcb into mainAug 22, 2025
1 check passed
@leofang
leofang deleted the copilot/fix-853 branch August 22, 2025 20:03
@github-project-automationgithub-project-automationBot moved this from In Review to Done in CCCLAug 22, 2025
@github-actions

Copy link
Copy Markdown
Doc Preview CI
Preview removed because the pull request was closed or merged.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cuda.bindingsEverything related to the cuda.bindings modulecuda.coreEverything related to the cuda.core modulecuda.pathfinderEverything related to the cuda.pathfinder moduleP0High priority - Must do!packagingAnything related to wheels or Conda packages

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Switch to use the new cuda-toolkit metapackage to constraint Python wheel dependencies

4 participants

@leofang@rwgk@kkraus14