Skip to content

Commit a0cf7be

Browse files
Upgrade to CUDA 13.0
CUDA 13.0 requires architecture `sm_75` or higher, and renamed `sm_101` to `sm_110`. To build for these, maintainers will need to modify their existing list of specified architectures (e.g. `CMAKE_CUDA_ARCHITECTURES`, `TORCH_CUDA_ARCH_LIST`, etc.) for their package. Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and in its activation script to a string containing all of the supported real architectures plus the virtual architecture of the latest. Recipes for packages who use these variables to control their build but do not want to build for all supported architectures will need to override these variables in their build script. ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features > [[!IMPORTANT]] > Remember to update any CUDA 11/12 specific selector syntax in the recipe to include > CUDA 13. For example `# [(cuda_compiler_version or "None").startswith("12")]` > might be replaced with `# [cuda_compiler_version != "None"]`.
1 parent db89c38 commit a0cf7be

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
migrator_ts: 1755016036
2+
__migrator:
3+
operation: key_add
4+
migration_number:
5+
1
6+
build_number:
7+
1
8+
paused: false
9+
override_cbc_keys:
10+
- cuda_compiler_stub
11+
check_solvable: false
12+
primary_key: cuda_compiler_version
13+
ordering:
14+
cuda_compiler_version:
15+
- 12.4
16+
- 12.6
17+
- 12.8
18+
- None
19+
- 12.9
20+
- 13.0
21+
# to allow manual opt-in for CUDA 11.8, see
22+
# https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472
23+
# must be last due to how cuda_compiler ordering in that migrator works
24+
- 11.8
25+
wait_for_migrators:
26+
- cuda129
27+
commit_message: |
28+
Upgrade to CUDA 13.0
29+
30+
CUDA 13.0 requires architecture `sm_75` or higher, and renamed `sm_101` to
31+
`sm_110`. To build for these, maintainers will need to modify their existing list of
32+
specified architectures (e.g. `CMAKE_CUDA_ARCHITECTURES`, `TORCH_CUDA_ARCH_LIST`, etc.)
33+
for their package.
34+
35+
Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and
36+
in its activation script to a string containing all
37+
of the supported real architectures plus the virtual architecture of the
38+
latest. Recipes for packages who use these variables to control their build
39+
but do not want to build for all supported architectures will need to override
40+
these variables in their build script.
41+
42+
ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features
43+
44+
> [[!IMPORTANT]]
45+
> Remember to update any CUDA 11/12 specific selector syntax in the recipe to include
46+
> CUDA 13. For example `# [(cuda_compiler_version or "None").startswith("12")]`
47+
> might be replaced with `# [cuda_compiler_version != "None"]`.
48+
49+
cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
50+
- 13.0 # [((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.28 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
54+
55+
c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
56+
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
57+
58+
cxx_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
59+
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
60+
61+
fortran_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
62+
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

recipe/meta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# if you wish to build release candidate number X, append the version string with ".rcX"
22
{% set version = "2.9.1" %}
3-
{% set build = 0 %}
3+
{% set build = 1 %}
44

55
# Use a higher build number for the CUDA variant, to ensure that it's
66
# preferred by conda's solver, and it's preferentially

0 commit comments

Comments
 (0)