-
-
Notifications
You must be signed in to change notification settings - Fork 320
add announcement to drop CUDA 11.8 #2532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
b1c2c60
add announcement to drop CUDA 11.8
h-vetinari 7655e23
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 224f45c
add docker_image and zip_keys
h-vetinari b7fe319
remove zip_keys again; expand compilers instead
h-vetinari 126e2da
use the same image everywhere
h-vetinari f46026d
make date explicit; add links
h-vetinari File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| # Dropping CUDA 11.8 as a default CUDA version | ||
|
|
||
| CUDA 11.8 is the last holdover from the old days before conda-forge | ||
| [switched](https://github.com/conda-forge/conda-forge.github.io/issues/1963) | ||
| to the new and shiny CUDA 12+ infrastructure, where the CUDA toolchain | ||
| is provided as native conda-packages, rather than a blob in an image. | ||
|
|
||
| For CUDA-enabled feedstocks, we've been building both 11.8 and 12.6 by default | ||
| for a while now, but many feedstocks (notably pytorch, tensorflow, onnx, jax etc.) | ||
| have dropped CUDA 11.8 for many months already. | ||
|
|
||
| Due to various constraints (details below), we are dropping CUDA 11.8 as a default | ||
| version in our global pinning on June 5th. It will still be possible to opt into | ||
| building CUDA 11.8 on a per-feedstock basis where this is necessary or beneficial. | ||
|
|
||
| <!-- truncate --> | ||
|
|
||
| The above-mentioned contraints are mainly: | ||
|
|
||
| - 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. | ||
| - it keeps us from [migrating](https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7005) | ||
| to newer CUDA 12.x versions necessary to support new architectures. | ||
| - 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 | ||
| in conda-forge soon (the previous VS2019 has reached end-of-life more than a year ago). | ||
| - it complicates our infrastructure in several places, due to the big differences between the | ||
| before/after of the new CUDA architecture. | ||
|
|
||
| After we have removed CUDA 11.8 from the pinning, any feedstock still building that version | ||
| will drop the respective CI jobs upon rerendering. For feedstocks wanting to keep building | ||
| CUDA 11.8 a bit longer, here's a sample configuration you can put under | ||
| `recipe/conda_build_config.yaml` (and then rerender). | ||
|
|
||
| ```yaml | ||
| cuda_compiler: | ||
| - None | ||
| - nvcc # [linux or win] | ||
| - cuda-nvcc # [linux or win] | ||
| cuda_compiler_version: | ||
| - None | ||
| - 11.8 # [linux or win] | ||
| - 12.4 # [linux and ppc64le] | ||
| - 12.8 # [(linux and not ppc64le) or win] | ||
|
|
||
| # use the same 11.8-enabled image for all variants (changes to ubi8, | ||
| # down from default alma9, also for non-CUDA and CUDA 12 builds) | ||
| docker_image: # [linux] | ||
| # CUDA 11.8 builds | ||
| - quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 # [linux64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] | ||
| # CUDA 11.8 arch: native compilation (build == target) | ||
| - quay.io/condaforge/linux-anvil-aarch64-cuda11.8:ubi8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-aarch64"] | ||
| - quay.io/condaforge/linux-anvil-ppc64le-cuda11.8:ubi8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-ppc64le"] | ||
| # CUDA 11.8 arch: cross-compilation (build != target) | ||
| - quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 # [aarch64 and os.environ.get("BUILD_PLATFORM") == "linux-64"] | ||
| - quay.io/condaforge/linux-anvil-x86_64-cuda11.8:ubi8 # [ppc64le and os.environ.get("BUILD_PLATFORM") == "linux-64"] | ||
|
h-vetinari marked this conversation as resolved.
|
||
|
|
||
| # CUDA 11.8 is not compatible with current compilers | ||
| c_compiler: # [win] | ||
| - vs2019 # [win] | ||
| cxx_compiler: # [win] | ||
| - vs2019 # [win] | ||
| c_compiler_version: # [linux] | ||
| - 13 # [linux] | ||
| - 11 # [linux] | ||
| - 12 # [linux and ppc64le] | ||
| - 13 # [linux and not ppc64le] | ||
| cxx_compiler_version: # [linux] | ||
| - 13 # [linux] | ||
| - 11 # [linux] | ||
| - 12 # [linux and ppc64le] | ||
| - 13 # [linux and not ppc64le] | ||
| fortran_compiler_version: # [linux] | ||
| - 13 # [linux] | ||
| - 11 # [linux] | ||
| - 12 # [linux and ppc64le] | ||
| - 13 # [linux and not ppc64le] | ||
| ``` | ||
|
|
||
| Due to changes in the pinning structure (which keys are zipped together), it's possible that | ||
| further adaptations are necessary; you can ping conda-forge/core for that. Also, please let us | ||
| know in the [issue](https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/7404) | ||
| if your feedstock still needs to support CUDA 11.8 and why (later down the line we'll want to | ||
| drop support also in conda-forge-ci-setup, and knowing what feedstocks - if any - still need | ||
| CUDA 11.8 will help guide the decision on timing). | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried to add a manual migrator in PR: conda-forge/conda-forge-pinning-feedstock#7432
It is still a bit buggy, but that might be another option for users (once cleaned up)Edit: Actually think I got this to work. Was able to test on one feedstock. Would be good to test a bit more