|
| 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 in one week. 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 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, 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 | +# CUDA 11.8 is not compatible with current compilers |
| 44 | +c_compiler: # [win] |
| 45 | + - vs2019 # [win] |
| 46 | +cxx_compiler: # [win] |
| 47 | + - vs2019 # [win] |
| 48 | +c_compiler_version: # [linux] |
| 49 | + - 11 # [linux] |
| 50 | +cxx_compiler_version: # [linux] |
| 51 | + - 11 # [linux] |
| 52 | +fortran_compiler_version: # [linux] |
| 53 | + - 11 # [linux] |
| 54 | +``` |
| 55 | +
|
| 56 | +Due to changes in the pinning structure (which keys are zipped together), it's possible that |
| 57 | +further adaptations are necessary; you can ping conda-forge/core for that. Also, please let us |
| 58 | +know in the [issue](https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/7404) |
| 59 | +if your feedstock still needs to support CUDA 11.8 and why (later down the line we'll want to |
| 60 | +drop support also in conda-forge-ci-setup, and knowing what feedstocks - if any - still need |
| 61 | +CUDA 11.8 will help guide the decision on timing). |
0 commit comments