Skip to content

Conversation

GregoryComer
Copy link
Member

@GregoryComer GregoryComer commented Sep 5, 2025

Argmin and argmax are crashing on Core ML. Native crashes are hard to recover from. In the medium term, I'd like to look at using pytest-xdist, which, by nature of process isolation, can recover. But for now, I'm adding a way to skip tests on specific backend flows to allow running the remaining tests. I've also skipped Vulkan float16 and float64 tests, as they crash when using swiftshader (used in the CI for software execution of the Vulkan compute shaders). This should be re-visited in the future.

There is also a little technical debt in the code duplication between operator and model tests. This will also be cleaned up shortly.

GregoryComer and others added 5 commits September 4, 2025 17:30
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
Copy link

pytorch-bot bot commented Sep 5, 2025

🔗 Helpful Links

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

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

⏳ No Failures, 74 Pending

As of commit 88dc7d0 with merge base 48ba0a6 (image):
💚 Looks good so far! There are no failures yet. 💚

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

GregoryComer added a commit that referenced this pull request Sep 5, 2025
…Core ML due to native crashes

ghstack-source-id: 36fbd8a
ghstack-comment-id: 3257282474
Pull-Request: #13992
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 5, 2025
@GregoryComer GregoryComer marked this pull request as ready for review September 5, 2025 07:01
[ghstack-poisoned]
[ghstack-poisoned]
GregoryComer added a commit that referenced this pull request Sep 5, 2025
…Core ML due to native crashes

ghstack-source-id: 4d163c4
ghstack-comment-id: 3257282474
Pull-Request: #13992
@GregoryComer GregoryComer changed the title [Backend Tester] Add flow-specific skipped tests, skip argmin/max on Core ML due to native crashes [Backend Tester] Add flow-specific skipped tests, skip argmin/max on Core ML due to native crashes, float16/64 on Vulkan Sep 5, 2025
@pytorch-bot pytorch-bot bot added the module: vulkan Issues related to the Vulkan delegate and code under backends/vulkan/ label Sep 5, 2025
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
GregoryComer added a commit that referenced this pull request Sep 5, 2025
…Core ML due to native crashes

ghstack-source-id: 0d0d755
ghstack-comment-id: 3257282474
Pull-Request: #13992
GregoryComer and others added 8 commits September 10, 2025 23:22
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
CoreMLTester, minimum_deployment_target=minimum_deployment_target
),
quantize=quantize,
skip_patterns=["test_argmin", "test_argmax"],
Copy link
Contributor

Choose a reason for hiding this comment

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

How does this play when doing a cross delegate % - pass like comparison?

Copy link
Member Author

Choose a reason for hiding this comment

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

It's not directly reported as a fail. It's not ideal, but native crashes are unrecoverable without process isolation, so I've been accounting for this in the reported numbers. My plan is to switch to pytest with parallel execution to provide process isolation. But, for now, hiding those 2 faiing tests lets the run at least complete in CI.

def wrapped_test(self):
with TestContext(test_name, test_base_name, flow.name, params):
if flow.should_skip_test(test_name):
raise unittest.SkipTest(f"Skipping test due to matching flow {flow.name} skip patterns")
Copy link
Contributor

Choose a reason for hiding this comment

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

will this be counted and reported as SKIPPED in the report?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, it's reported as skipped.

Copy link
Contributor

@digantdesai digantdesai left a comment

Choose a reason for hiding this comment

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

stamping to unblock.

[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
Base automatically changed from gh/GregoryComer/156/head to main September 16, 2025 01:49
@GregoryComer GregoryComer merged commit 3ef7cc1 into main Sep 16, 2025
162 of 269 checks passed
@GregoryComer GregoryComer deleted the gh/GregoryComer/157/head branch September 16, 2025 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ciflow/nightly CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. module: vulkan Issues related to the Vulkan delegate and code under backends/vulkan/
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants