Skip to content

ci: python 3.13 free threading builds#986

Merged
cpcloud merged 10 commits intoNVIDIA:mainfrom
cpcloud:free-threading-builds
Sep 19, 2025
Merged

ci: python 3.13 free threading builds#986
cpcloud merged 10 commits intoNVIDIA:mainfrom
cpcloud:free-threading-builds

Conversation

@cpcloud
Copy link
Copy Markdown
Contributor

@cpcloud cpcloud commented Sep 18, 2025

Closes #132. Add CI wheel builds and test matrix entries for free-threaded builds.

@copy-pr-bot
Copy link
Copy Markdown
Contributor

copy-pr-bot bot commented Sep 18, 2025

Auto-sync is disabled for ready for review pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 18, 2025

/ok to test

2 similar comments
@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 18, 2025

/ok to test

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 18, 2025

/ok to test

{ "ARCH": "amd64", "PY_VER": "3.12", "CUDA_VER": "13.0.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
{ "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
{ "ARCH": "amd64", "PY_VER": "3.13", "CUDA_VER": "13.0.1", "LOCAL_CTK": "1", "GPU": "l4", "DRIVER": "latest" },
{ "ARCH": "amd64", "PY_VER": "3.13t", "CUDA_VER": "12.9.1", "LOCAL_CTK": "0", "GPU": "l4", "DRIVER": "latest" },
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.

This requires cuda-bindings 12.9.x to be rebuilt and merged first

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ok, what needs to happen for that?

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.

Have a backport version of this PR merged first, as implied by our new shiny CI doc we fetch the 12.x wheels from the 12.9.x branch.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ok, I'll leave it out for now then.

@leofang leofang added P0 High priority - Must do! CI/CD CI/CD infrastructure packaging Anything related to wheels or Conda packages cuda.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module labels Sep 19, 2025
@leofang leofang added this to the cuda.core beta 7 milestone Sep 19, 2025
@cpcloud cpcloud force-pushed the free-threading-builds branch from b2a70a7 to 48ea7d4 Compare September 19, 2025 13:22
@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

/ok to test

@cpcloud cpcloud changed the title free threading builds ci(python): free threading builds Sep 19, 2025
@cpcloud cpcloud changed the title ci(python): free threading builds ci: free threading builds Sep 19, 2025
@cpcloud cpcloud changed the title ci: free threading builds ci: python 3.13 free threading builds Sep 19, 2025
@github-actions

This comment has been minimized.

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

Looks like I am probably missing a comma in some JSON. That's what I get for copypasta-ing!

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

/ok to test

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

Tests are currently not able to run because test-cu13 cannot be installed, because there's no cupy package available for free-threading builds.

Unfortunately there's also no way to get that metadata at build time (see https://packaging.python.org/en/latest/specifications/dependency-specifiers/#dependency-specifiers for what's available. I tried them all, and saw nothing that indicated whether a build was a FT build).

I'll have to come up with a WAR to skip installation of that dependency.

@cpcloud cpcloud force-pushed the free-threading-builds branch from de5815a to 96ee1c2 Compare September 19, 2025 16:25
@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

/ok to test

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

Ah, I need to edit the build matrix I think.

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

/ok to test

@cpcloud cpcloud requested a review from leofang September 19, 2025 18:40
@leofang
Copy link
Copy Markdown
Member

leofang commented Sep 19, 2025

Thanks, Phillip! Code-wise LGTM! A few questions on the next steps you have in mind:

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

Will do each of those in a separate PR!

Copy link
Copy Markdown
Member

@leofang leofang left a comment

Choose a reason for hiding this comment

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

Sounds good, thanks! We also need to backport this.

@cpcloud
Copy link
Copy Markdown
Contributor Author

cpcloud commented Sep 19, 2025

Ok, I will get started on the backport then. Merging.

@cpcloud cpcloud merged commit c4f4ffe into NVIDIA:main Sep 19, 2025
56 checks passed
@cpcloud cpcloud deleted the free-threading-builds branch September 19, 2025 18:52
@github-actions
Copy link
Copy Markdown

Doc Preview CI
Preview removed because the pull request was closed or merged.

cpcloud added a commit to cpcloud/cuda-python that referenced this pull request Sep 19, 2025
* ci: build free-threaded wheels

* build(deps): bump cython lower bound

* ci: enable freethreading for 3.13 in cibuildwheel

* ci: bump cython lower bound in cuda_core

* ci: skip tests that require llvmlite because it does not ship a free-threading build wheel

* ci: remove filtering out of cuda-bindings artifacts

* ci: remove redundant environment variable setting

* ci: fix syntax errors in ci/test-matrix.json

* ci: add optional dependency group to avoid installation of cupy when testing the FT builds

* ci: remove 12.9.x from builds for now
cpcloud added a commit to cpcloud/cuda-python that referenced this pull request Sep 23, 2025
* ci: build free-threaded wheels

* build(deps): bump cython lower bound

* ci: enable freethreading for 3.13 in cibuildwheel

* ci: bump cython lower bound in cuda_core

* ci: skip tests that require llvmlite because it does not ship a free-threading build wheel

* ci: remove filtering out of cuda-bindings artifacts

* ci: remove redundant environment variable setting

* ci: fix syntax errors in ci/test-matrix.json

* ci: add optional dependency group to avoid installation of cupy when testing the FT builds

* ci: remove 12.9.x from builds for now
leofang added a commit to leofang/cuda-python that referenced this pull request Sep 29, 2025
leofang added a commit to leofang/cuda-python that referenced this pull request Sep 29, 2025
cpcloud pushed a commit that referenced this pull request Sep 29, 2025
* backport PR #986

* backport PR #1005
@cpcloud cpcloud mentioned this pull request Oct 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module P0 High priority - Must do! packaging Anything related to wheels or Conda packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a build/release process to support 2 build flavors

2 participants