Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Aug 21, 2025

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 link
Contributor

copy-pr-bot bot commented Aug 21, 2025

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.

@Copilot Copilot AI changed the title [WIP] Switch to use the new cuda-toolkit metapackage to constraint Python wheel dependencies Switch to cuda-toolkit metapackage for wheel dependencies Aug 21, 2025
@Copilot Copilot AI requested a review from leofang August 21, 2025 18:35
Copilot finished work on behalf of leofang August 21, 2025 18:35
Copy link
Member

@leofang leofang left a comment

Choose a reason for hiding this comment

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

@github-project-automation github-project-automation bot moved this from Todo to In Progress in CCCL Aug 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 <[email protected]>
@Copilot Copilot AI requested a review from leofang August 21, 2025 18:42
Copilot finished work on behalf of leofang August 21, 2025 18:42
Copy link
Member

@leofang leofang left a comment

Choose a reason for hiding this comment

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

Copilot finished work on behalf of leofang August 21, 2025 18:47
@Copilot Copilot AI requested a review from leofang August 21, 2025 18:47
@leofang
Copy link
Member

leofang commented Aug 21, 2025

/ok to test 6a12072

This comment has been minimized.

@leofang leofang 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
@leofang leofang added this to the cuda.core beta 7 milestone Aug 21, 2025
@Copilot Copilot AI changed the title Switch to cuda-toolkit metapackage for wheel dependencies with NVCC removal and streamlined documentation Switch to cuda-toolkit metapackage for wheel dependencies with streamlined documentation Aug 22, 2025
@Copilot Copilot AI requested a review from leofang August 22, 2025 01:19
Copilot finished work on behalf of leofang August 22, 2025 01:19
@leofang leofang marked this pull request as ready for review August 22, 2025 01:29
@leofang leofang requested review from rwgk, rparolin and kkraus14 August 22, 2025 01:29
@leofang
Copy link
Member

leofang commented Aug 22, 2025

/ok to test 5d4e179

@Copilot Copilot AI requested a review from leofang August 22, 2025 17:47
Copilot finished work on behalf of leofang August 22, 2025 17:47
Copy link
Collaborator

@rwgk rwgk left a comment

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

@github-project-automation github-project-automation bot moved this from In Progress to In Review in CCCL Aug 22, 2025
@leofang
Copy link
Member

leofang commented Aug 22, 2025

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 main Aug 22, 2025
1 check passed
@leofang leofang deleted the copilot/fix-853 branch August 22, 2025 20:03
@github-project-automation github-project-automation bot moved this from In Review to Done in CCCL Aug 22, 2025
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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 P0 High priority - Must do! packaging Anything 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