Skip to content

wheels: RAPIDS is not installable alongside PyTorch 2.12 CUDA 12 wheels #289

Description

@jameslamb

Description

RAPIDS 26.06 can't be installed alongside the latest PyTorch CUDA 12 wheels.

In its 2.12 release (May 13, 2026), PyTorch dropped its CUDA 12.8 and 12.9 builds:

Those 12.9 wheels were the only torch CUDA 12 wheels RAPIDS could be installed alongside without workarounds like --no-deps.

Details

The only CUDA 12 build available for PyTorch 2.12 is for CUDA 12.6.

Its == pinned to the nvidia-nvjitlink-cu12 from CUDA 12.6, and so is incompatible with the nvidia-nvjitlink-cu12>=12.9 requirement carried by several RAPIDS libraries.

$ docker run --rm -it python:3.12 bash

❌ CUDA 12.6 + PyTorch 2.12 + RAPIDS 26.06

$ INDEX_ARGS=(--extra-index-url=https://download.pytorch.org/whl/cu126 --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/)
$ pip install "${INDEX_ARGS[@]}" 'cuvs-cu12==26.6.*,>=26.6.0a0' 'torch==2.12.0+cu126'
ERROR: Cannot install cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==12.6.3 and cuvs-cu12 because these package versions have conflicting dependencies.

The conflict is caused by:
    libcuvs-cu12 26.6.0a115 depends on nvidia-nvjitlink-cu12<13 and >=12.9
    cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx] 12.6.3 depends on nvidia-nvjitlink-cu12==12.6.85.*; (sys_platform == "linux" or sys_platform == "win32") and extra == "nvjitlink"

Installation in CUDA 13 environments is fine.

✅ CUDA 13.0 + PyTorch 2.12 + RAPIDS 26.06

$ INDEX_ARGS=(--extra-index-url=https://download.pytorch.org/whl/cu130 --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/)
$ pip install "${INDEX_ARGS[@]}" 'cuvs-cu13==26.6.*,>=26.6.0a0' 'torch==2.12.0+cu130'
Successfully installed ... cuda-toolkit-13.0.2 cuvs-cu13-26.6.0 ... nvidia-nvjitlink-13.0.88 ... torch-2.12.0+cu130 ...

✅ CUDA 13.2 + PyTorch 2.12 + RAPIDS 26.06

$ INDEX_ARGS=(--extra-index-url=https://download.pytorch.org/whl/cu132 --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/)
$ pip install "${INDEX_ARGS[@]}" 'cuvs-cu13==26.6.*,>=26.6.0a0' 'torch==2.12.0+cu132'
Successfully installed ... cuda-toolkit-13.2.1 cuvs-cu13-26.6.0 ... nvidia-nvjitlink-13.3.33 ... torch-2.12.0+cu132 ...

Opening this to track work towards resolving this for future torch and RAPIDS versions.

Benefits of this work

  • resolving this would allow use of the latest RAPIDS and latest torch together in CUDA 12 environments

Approach

RAPIDS strongly prefers to build its CUDA 12 wheels with the v12.9 of the CUDA toolkit, and so needs that runtime dependency of nvidia-nvjitlink-cu12>=12.9.

Other options that could resolve this (in no particular order):

  • recommending that RAPIDS users pip install --no-deps PyTorch wheels in CUDA 12 environments
  • RAPIDS loosening its nvidia-nvjitlink-cu12 requirement
    • ideas like building against an older CTK, statically linking libnvJitLink, and runtime shim tricks have been tried before and have various technical limitations, but including this option for completeness
  • torch restoring CUDA 12.9 builds
  • torch loosening its nvidia-nvjitlink-cu12 requirement for CUDA 12 wheels (to something like >=12.6,<13)
  • cuda-toolkit==12.6.* metapackage loosening its nvidia-nvjitlink-cu12 requirement
    • as was done in 12.8.2, 12.9.2, 13.0.3, 13.1.2, and from 13.2.1 onwards

Task List

Notes

It's possible this will just be resolved by torch restoring CUDA 12.9 builds, see:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions