Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ m2w64_c_stdlib_version: # [win]
- 12 # [win]
c_stdlib_version: # [unix]
- 2.17 # [linux]
- 2.17 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 10.13 # [osx and x86_64]
- 11.0 # [osx and arm64]
cxx_compiler:
Expand Down Expand Up @@ -154,6 +155,8 @@ zip_keys:
- c_compiler_version # [unix]
- cxx_compiler_version # [unix]
- fortran_compiler_version # [unix]
# CUDA 13.x requires newer glibc than our current baseline
- c_stdlib_version # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- cuda_compiler_version # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
-
- python
Expand Down
7 changes: 6 additions & 1 deletion recipe/migrations/cuda118.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
migrator_ts: 1748496951
# In order to work, this timestamp needs to be newer than all other CUDA migrators
migrator_ts: 2145938400 # 2038-01-01
__migrator:
kind:
version
Expand Down Expand Up @@ -28,6 +29,7 @@ __migrator:
- 12.8
- None
- 12.9
- 13.0
- 11.8
cuda_compiler_version_min:
- 12.4
Expand All @@ -45,6 +47,9 @@ cuda_compiler_version: # [(linux or win64) and os.environ.get("CF_CUDA_ENAB
cuda_compiler_version_min: # [linux or win64]
- 11.8 # [linux or win64]

c_stdlib_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 2.17 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

c_compiler_version: # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 11 # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

Expand Down
4 changes: 4 additions & 0 deletions recipe/migrations/cuda129.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ __migrator:
- 12.8
- None
- 12.9
- 13.0
# to allow manual opt-in for CUDA 11.8, see
# https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472
# must be last due to how cuda_compiler ordering in that migrator works
Expand Down Expand Up @@ -47,6 +48,9 @@ cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and
cuda_compiler_version_min: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

c_stdlib_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 2.17 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

Expand Down
62 changes: 62 additions & 0 deletions recipe/migrations/cuda130.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
migrator_ts: 1755016036
__migrator:
operation: key_add
migration_number:
1
build_number:
1
paused: true
override_cbc_keys:
- cuda_compiler_stub
check_solvable: false
primary_key: cuda_compiler_version
Comment thread
h-vetinari marked this conversation as resolved.
ordering:
cuda_compiler_version:
- 12.4
- 12.6
- 12.8
- None
- 12.9
- 13.0
# to allow manual opt-in for CUDA 11.8, see
# https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472
# must be last due to how cuda_compiler ordering in that migrator works
- 11.8
wait_for_migrators:
- cuda129
Comment thread
h-vetinari marked this conversation as resolved.
commit_message: |
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.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Insert note here about binary path changes on Windows

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to do this before merging the still-paused migration? We could also add that text later.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I don't want to add the note because we may be reverting the path changes on Windows.

Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and
`TORCH_CUDA_ARCH_LIST` 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"]`.

cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 13.0 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

c_stdlib_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 2.28 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

cxx_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]

fortran_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]
- 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"]