Skip to content

Commit 5356f9d

Browse files
carterboxmgorny
authored andcommitted
BUG: Update CUDA 12.9 Migrator with latest version
Signed-off-by: Michał Górny <[email protected]>
1 parent 3f37eae commit 5356f9d

File tree

1 file changed

+36
-17
lines changed

1 file changed

+36
-17
lines changed

.ci_support/migrations/cuda129.yaml

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,52 @@ __migrator:
1414
primary_key: cuda_compiler_version
1515
ordering:
1616
cuda_compiler_version:
17-
- 11.8
1817
- 12.4
1918
- 12.6
2019
- 12.8
2120
- None
2221
- 12.9
22+
- 13.0
23+
# to allow manual opt-in for CUDA 11.8, see
24+
# https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472
25+
# must be last due to how cuda_compiler ordering in that migrator works
26+
- 11.8
2327
commit_message: |
2428
Upgrade to CUDA 12.9
25-
26-
With CUDA 12.9, the following new architectures are added `sm_100`, `sm_101` and `sm_120`.
27-
To build for these architectures, maintainers will need to add these to list of architectures
28-
that their package builds for.
29-
29+
30+
CUDA 12.8 added support for architectures `sm_100`, `sm_101` and `sm_120`,
31+
while CUDA 12.9 further added `sm_103` and `sm_121`. To build for these,
32+
maintainers will need to modify their existing list of specified architectures
33+
(e.g. `CMAKE_CUDA_ARCHITECTURES`, `TORCH_CUDA_ARCH_LIST`, etc.)
34+
for their package. A good balance between broad support and storage
35+
footprint (resp. compilation time) is to add `sm_100` and `sm_120`.
36+
37+
Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and
38+
`TORCH_CUDA_ARCH_LIST` in its activation script to a string containing all
39+
of the supported real architectures plus the virtual architecture of the
40+
latest. Recipes for packages who use these variables to control their build
41+
but do not want to build for all supported architectures will need to override
42+
these variables in their build script.
43+
3044
ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features
3145
3246
cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
33-
- 12.9 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
34-
- 12.8 # [win64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
47+
- 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
48+
49+
cuda_compiler_version_min: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
50+
- 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
51+
52+
c_stdlib_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
53+
- 2.17 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
3554

36-
c_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
37-
- 14 # [(linux and x86_64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
38-
- 13 # [(linux and aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
55+
# Compiler pinnings deviate from global migrator in order to honor pinnings in local conda_build_config for aarch64
56+
c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
57+
- 14 # [(linux and (x86_64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
58+
- 13 # [(linux and (aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
3959

40-
cxx_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
41-
- 14 # [(linux and x86_64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
42-
- 13 # [(linux and aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
60+
cxx_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
61+
- 14 # [(linux and (x86_64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
62+
- 13 # [(linux and (aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
4363

44-
fortran_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
45-
- 14 # [(linux and x86_64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
46-
- 13 # [(linux and aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
64+
fortran_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
65+
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

0 commit comments

Comments
 (0)