Repository navigation
Conversation
The floors lived only in the cu12/cu13 extras, so a package that depends on plain cuda-core never passed them to pip or uv, and an older cuda-bindings failed only at import (NVIDIA#3459). Declare the floors in new minimal-sysctk12/13 extras, include them from cu12/cu13, and depend on cuda-bindings without a version. The floor parser, the CI wheel-floor reader, the pre-commit hook and the docs read the new extras.
Contributor
Drop the unversioned cuda-bindings from the base dependencies, so a plain cuda-core install keeps asking for an extra. Keep the floor readers on the cu<N> extras, as before, and teach them to follow a cuda-core[...] self-reference and to skip an unversioned cuda-bindings[all]. The cu<N> layout then yields the floor written in minimal-sysctk<N>, and the existing tests of the cu<N> form stay as they are. New tests cover the self-reference.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Closes #3459.
Moves the
cuda-bindingsfloors from thecu12/cu13extras into newminimal-sysctk12/minimal-sysctk13extras, whichcu12/cu13include by self-reference. A package that depends oncuda-core[minimal-sysctk12](or[cu12]) now passes the floor to pip and uv.The floor readers (
floors_from_extrasand the CI wheel-floor reader) still read the floor of eachcu<N>extra; they now follow acuda-core[...]self-reference and skip an unversionedcuda-bindings[all]. The existing tests of thecu<N>form are unchanged, and new tests cover the self-reference.Two additions beyond the issue:
check-cuda-core-bindings-floorhook also checks that eachcu<N>extra listscuda-core[minimal-sysctk<N>], so the floor is written only inminimal-sysctk<N>.[tool.uv].conflictsdeclares the new extras as conflicting across majors; without ituv lockfails.A CUDA 12 wheel built from this branch carries the floors under
extra == "minimal-sysctk12"/"minimal-sysctk13", andpip install --dry-run "cuda-core[cu12] @ <wheel>" cuda-bindings==12.9.3(likewise[minimal-sysctk12]) is now rejected at resolve time instead of failing at import.Checklist
-- Leo's bot