Pin cuda-python=12.0.* for CUDA 12 builds. #697
Closed
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.
#695 did not solve the problem. It appears that cuda-python 12.3 is being pulled, which is not what I hoped the solver would do. This PR changes the approach by pinning
cuda-python=12.0.*
.For posterity, I saw the following results:
This pulls cuda-cudart from the
nvidia
channel:Replace the
rapids
metapackage with the packages it depends on (including cuda-python, from before #695), and the problem still reproduces.Remove
cuda-python
from that pinning, and the problem disappeared for me (nonvidia
channel packages):Changing the cuda-python pinning to
cuda-python<12.3.0a0
also reproduced the problem (withconda-forge
providingcuda-python
12.2 andnvidia
providingcuda-cudart
).I concluded the only solution is to pin
cuda-python=12.0.*
to align with thecuda-version
. But that will break minor version compatibility if the user wishes to usecuda-version=12.2
, for example.I think the best solution is for us to figure out a solution to: conda-forge/cuda-python-feedstock#66.
The problem statement is "we need to be able to install
cuda-python=12.x
alongsidecuda-version=12.y
for somex, y
(especiallyx > y
)".cuda-python
's packaging is explicitly designed to allow CEC and therefore doesn't have to match versions exactly with CUDA Toolkit packages that are constrained bycuda-version
.