@@ -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
3246cuda_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