Skip to content

NEW: Migrate recipes to CUDA 13.0#7653

Merged
h-vetinari merged 15 commits into
conda-forge:mainfrom
carterbox:cuda-13.0-migrator
Aug 20, 2025
Merged

NEW: Migrate recipes to CUDA 13.0#7653
h-vetinari merged 15 commits into
conda-forge:mainfrom
carterbox:cuda-13.0-migrator

Conversation

@carterbox

@carterbox carterbox commented Aug 12, 2025

Copy link
Copy Markdown
Member

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

Test Feedstocks:

Blocking Issues:

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@h-vetinari h-vetinari left a comment

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.

looks pretty good already!

Comment thread recipe/migrations/cuda130.yaml Outdated

@h-vetinari h-vetinari left a comment

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.

Since we haven't closed the 12.9 migration yet, it would be good to test that the presence of both cuda129.yaml and cuda130.yaml does the right thing.

Comment thread recipe/migrations/cuda130.yaml
Comment thread recipe/migrations/cuda130.yaml
Comment thread recipe/migrations/cuda130.yaml Outdated
@h-vetinari

Copy link
Copy Markdown
Member

With the changes to the global zip this becomes a bit harder to test locally, but it's still possible. You need to use the recipe/conda_build_config.yaml from this PR, copy it somewhere (say that file is called cbc), then you can test rerender this migrator (with use_local: true, and the relevant changes to cuda129.yaml if present) using conda smithy rerender -e ../cbc

At first I wanted to use additional_zip_keys: like for the nogil migrator

additional_zip_keys:
- is_freethreading
- is_abi3

This would postpone having to modify the global pinning until we close the 13.0 migration. But I wasn't able to get this work, it fails in smithy with

  File "E:\miniforge\envs\builder\Lib\site-packages\conda_smithy\variant_algebra.py", line 191, in op_variant_key_add
    additional_zip_keys_default_values[additional_key] = result[additional_key][0]
                                                         ~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'c_stdlib_version'

Since the question is just when we add c_stdlib_version back to the zip, I just went ahead and did it here. I was able to rerender the pytorch feedstock with these changes, and it did the correct thing.

Comment thread recipe/migrations/cuda130.yaml Outdated
billysuh7 added a commit to billysuh7/nccl-feedstock that referenced this pull request Aug 14, 2025
…while cuda13.0 migration is still being worked on

@h-vetinari h-vetinari left a comment

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.

From my POV, this is good to go

@bdice bdice left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Seems fine to me!

@carterbox

Copy link
Copy Markdown
Member Author

There's still some bugs in the Windows CUDA 13.0 build for libastra which AFAIK is the only compiled feedstock that this migrator has been tested against. Until we have a few examples of non-redist packages successfully building with the CUDA 13.0 CTK, I'd prefer not to start the migration.

@h-vetinari

Copy link
Copy Markdown
Member

We could try it on some feedstock like libmagma, etc.? Preferably not yet something with lots of expensive CI jobs (e.g. pytorch).

@h-vetinari

Copy link
Copy Markdown
Member

We could try it on some feedstock like libmagma, etc.? Preferably not yet something with lots of expensive CI jobs (e.g. pytorch).

One thing we could do to ease testing of this on feedstocks (due to the zip-changes), is to merge this with paused: true, so that testing this becomes the usual "just manually copy the migrator file and rerender" workflow

@bdice

bdice commented Aug 18, 2025

Copy link
Copy Markdown
Contributor

Yes, that's a great idea @h-vetinari!

@billysuh7 @carterbox I'd recommend that we go with that approach when we pick this up again on Monday.

Comment thread recipe/migrations/cuda130.yaml Outdated
@carterbox

Copy link
Copy Markdown
Member Author

We could try it on some feedstock like libmagma, etc.? Preferably not yet something with lots of expensive CI jobs (e.g. pytorch).

I just tried to build magma, it's not a good test recipe because it doesn't support CUDA 13 yet. It runs into some of the breaking changes at compile time.

Comment thread recipe/migrations/cuda118.yaml Outdated
Comment thread recipe/migrations/cuda118.yaml Outdated
@carterbox carterbox requested a review from h-vetinari August 18, 2025 20:49
Comment thread recipe/migrations/cuda129.yaml Outdated
Comment thread recipe/migrations/cuda130.yaml Outdated
Comment thread recipe/migrations/cuda118.yaml Outdated
Comment thread recipe/migrations/cuda118.yaml Outdated
Comment thread recipe/migrations/cuda129.yaml Outdated
Comment thread recipe/migrations/cuda130.yaml Outdated
bdice added a commit to pentschev/ucx-split-feedstock that referenced this pull request Aug 19, 2025
`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.

@h-vetinari h-vetinari left a comment

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.

LGTM, thanks!

`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

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.

@carterbox carterbox marked this pull request as ready for review August 20, 2025 15:31
@carterbox carterbox requested a review from a team as a code owner August 20, 2025 15:31
@carterbox

Copy link
Copy Markdown
Member Author

@conda-forge-admin, please rerender

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/17103079363. Examine the logs at this URL for more detail.

@h-vetinari

Copy link
Copy Markdown
Member

As discussed in the core call. Let's merge as paused, and figure out the remaining issues before unpausing.

@h-vetinari h-vetinari merged commit 2078634 into conda-forge:main Aug 20, 2025
4 checks passed
@carterbox carterbox deleted the cuda-13.0-migrator branch August 21, 2025 22:48
@bdice bdice mentioned this pull request Sep 9, 2025
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants