Skip to content

Check the shipped device code covers the GPUs a wheel claims - #21567

Open
shoumikhin wants to merge 11 commits into
gh/shoumikhin/86/headfrom
gh/shoumikhin/85/head
Open

Check the shipped device code covers the GPUs a wheel claims#21567
shoumikhin wants to merge 11 commits into
gh/shoumikhin/86/headfrom
gh/shoumikhin/85/head

Conversation

@shoumikhin

Copy link
Copy Markdown
Contributor

A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.

[ghstack-poisoned]
[ghstack-poisoned]
@pytorch-bot

pytorch-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21567

Note: Links to docs will display an error until the docs builds have been completed.

❗ 1 Active SEVs

There are 1 currently active SEVs. If your PR is affected, please view them below:

❌ 57 New Failures, 1 Cancelled Job, 23 Pending, 2 Unrelated Failures

As of commit d2f77f5 with merge base 4b4df96 (image):

NEW FAILURES - The following jobs have failed:

CANCELLED JOB - The following job was cancelled. Please retry:

FLAKY - The following jobs failed but were likely due to flakiness present on trunk:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

[ghstack-poisoned]
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.


ghstack-source-id: 2efc906
ghstack-comment-id: 5174656934
Pull-Request: #21567
@shoumikhin
shoumikhin changed the base branch from gh/shoumikhin/84/head to gh/shoumikhin/86/head August 4, 2026 05:23
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.


ghstack-source-id: 2efc906
ghstack-comment-id: 5174656934
Pull-Request: #21567
[ghstack-poisoned]
[ghstack-poisoned]
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.


ghstack-source-id: 2efc906
ghstack-comment-id: 5174656934
Pull-Request: #21567
@shoumikhin
shoumikhin changed the base branch from gh/shoumikhin/86/head to gh/shoumikhin/87/head August 4, 2026 06:35
[ghstack-poisoned]
[ghstack-poisoned]
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.


ghstack-source-id: 04d67a7
ghstack-comment-id: 5174656934
Pull-Request: #21567
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.


ghstack-source-id: 04d67a7
ghstack-comment-id: 5174656934
Pull-Request: #21567
[ghstack-poisoned]
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.

ghstack-source-id: dffdcff
ghstack-comment-id: 5174656934
Pull-Request: #21567
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.

ghstack-source-id: dffdcff
ghstack-comment-id: 5174656934
Pull-Request: #21567
[ghstack-poisoned]
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.

ghstack-source-id: 3103a04
ghstack-comment-id: 5174656934
Pull-Request: #21567
[ghstack-poisoned]
shoumikhin added a commit that referenced this pull request Aug 4, 2026
A CUDA wheel can install cleanly, load its libraries, and still fail the moment a
model runs, because GPU device code is compiled per architecture. If a wheel was
built for one GPU generation, it is fine on that generation and broken everywhere
else the release row promised, and the failure looks like a model problem rather
than a packaging one.

Add a check that reads the architectures the build asked for and confirms each one
is present in the shipped accelerator libraries:

    ✓ device code covers every claimed GPU architecture: [80, 90, 100, 120]

The check skips with a stated reason when a build named no architectures, so the
CPU wheels are unaffected, and when the inspection tool is unavailable.

ghstack-source-id: b2f2a6b
ghstack-comment-id: 5174656934
Pull-Request: #21567
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/binaries/all Release PRs with this label will build wheels for all python versions ciflow/binaries ciflow/cuda ciflow/nightly ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant