Skip to content

Commit d410e66

Browse files
authored
Merge pull request #2532 from h-vetinari/cuda118
add announcement to drop CUDA 11.8
2 parents 9f8392c + f46026d commit d410e66

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed

news/2025-05-29-cuda-118.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Dropping CUDA 11.8 as a default CUDA version
2+
3+
CUDA 11.8 is the last holdover from the old days before conda-forge
4+
[switched](https://github.com/conda-forge/conda-forge.github.io/issues/1963)
5+
to the new and shiny CUDA 12+ infrastructure, where the CUDA toolchain
6+
is provided as native conda-packages, rather than a blob in an image.
7+
8+
For CUDA-enabled feedstocks, we've been building both 11.8 and 12.6 by default
9+
for a while now, but many feedstocks (notably pytorch, tensorflow, onnx, jax etc.)
10+
have dropped CUDA 11.8 for many months already.
11+
12+
Due to various constraints (details below), we are dropping CUDA 11.8 as a default
13+
version in our global pinning on June 5th. It will still be possible to opt into
14+
building CUDA 11.8 on a per-feedstock basis where this is necessary or beneficial.
15+
16+
<!-- truncate -->
17+
18+
The above-mentioned contraints are mainly:
19+
20+
- it [complicates our pinning](https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/6967) due to needing to switch images and compilers with 11.8.
21+
- it keeps us from [migrating](https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7005)
22+
to newer CUDA 12.x versions necessary to support new architectures.
23+
- it's [not compatible with VS2022](https://github.com/conda-forge/conda-forge.github.io/issues/2138#issuecomment-2916743741), which is due to become the default toolchain on windows
24+
in conda-forge soon (the previous VS2019 has reached end-of-life more than a year ago).
25+
- it complicates our infrastructure in several places, due to the big differences between the
26+
before/after of the new CUDA architecture.
27+
28+
After we have removed CUDA 11.8 from the pinning, any feedstock still building that version
29+
will drop the respective CI jobs upon rerendering. For feedstocks wanting to keep building
30+
CUDA 11.8 a bit longer, here's a sample configuration you can put under
31+
`recipe/conda_build_config.yaml` (and then rerender).
32+
33+
```yaml
34+
cuda_compiler:
35+
- None
36+
- nvcc # [linux or win]
37+
- cuda-nvcc # [linux or win]
38+
cuda_compiler_version:
39+
- None
40+
- 11.8 # [linux or win]
41+
- 12.4 # [linux and ppc64le]
42+
- 12.8 # [(linux and not ppc64le) or win]
43+
44+
# use the same 11.8-enabled image for all variants (changes to ubi8,
45+
# down from default alma9, also for non-CUDA and CUDA 12 builds)
46+
docker_image: # [linux]
47+
# CUDA 11.8 builds
48+
- quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
49+
# CUDA 11.8 arch: native compilation (build == target)
50+
- quay.io/condaforge/linux-anvil-aarch64-cuda11.8:ubi8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"]
51+
- quay.io/condaforge/linux-anvil-ppc64le-cuda11.8:ubi8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"]
52+
# CUDA 11.8 arch: cross-compilation (build != target)
53+
- quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"]
54+
- quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"]
55+
56+
# CUDA 11.8 is not compatible with current compilers
57+
c_compiler: # [win]
58+
- vs2019 # [win]
59+
cxx_compiler: # [win]
60+
- vs2019 # [win]
61+
c_compiler_version: # [linux]
62+
- 13 # [linux]
63+
- 11 # [linux]
64+
- 12 # [linux and ppc64le]
65+
- 13 # [linux and not ppc64le]
66+
cxx_compiler_version: # [linux]
67+
- 13 # [linux]
68+
- 11 # [linux]
69+
- 12 # [linux and ppc64le]
70+
- 13 # [linux and not ppc64le]
71+
fortran_compiler_version: # [linux]
72+
- 13 # [linux]
73+
- 11 # [linux]
74+
- 12 # [linux and ppc64le]
75+
- 13 # [linux and not ppc64le]
76+
```
77+
78+
Due to changes in the pinning structure (which keys are zipped together), it's possible that
79+
further adaptations are necessary; you can ping conda-forge/core for that. Also, please let us
80+
know in the [issue](https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/7404)
81+
if your feedstock still needs to support CUDA 11.8 and why (later down the line we'll want to
82+
drop support also in conda-forge-ci-setup, and knowing what feedstocks - if any - still need
83+
CUDA 11.8 will help guide the decision on timing).

0 commit comments

Comments
 (0)