Skip to content

periodic: stop running dl3 and edsr on the portable backend - #21693

Open
shoumikhin wants to merge 1 commit into
mainfrom
shoumikhin/skip-portable-dl3-edsr-in-periodic
Open

periodic: stop running dl3 and edsr on the portable backend#21693
shoumikhin wants to merge 1 commit into
mainfrom
shoumikhin/skip-portable-dl3-edsr-in-periodic

Conversation

@shoumikhin

@shoumikhin shoumikhin commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Fixes #21692.

What is broken

The scheduled periodic workflow always concludes as cancelled, even when everything real about the commit is fine.

Why it is broken

Two jobs in that workflow never finish:

  • test-models-linux-basic (cmake, dl3, portable, linux.4xlarge.memory, 90)
  • test-models-linux-basic (cmake, edsr, portable, linux.2xlarge, 90)

Both hit the 90 minute job limit on every run since at least 2026-08-03 and are killed by GitHub. A job killed by the timeout reports cancelled, and one cancelled job makes the whole workflow read as cancelled.

In a recent periodic run these two were the only non-successes out of 59 jobs. The xnnpack variants of the same two models finished in about ten minutes each.

So today this costs about nine runner hours a day (periodic runs three times a day) and produces no result either way, while also hiding whether the rest of the periodic run was healthy.

The fix

Stop gathering the portable variants of dl3 and edsr.

gather_test_models.py already has two filters: one by event and one by target OS. Neither can express "this model on this backend", so this adds a third one, model_should_run_on_backend, in the same style as the existing yolo26 skip.

Coverage impact is small: dl3 and edsr are still tested through their xnnpack variants, and the portable path is still tested by every other model in the matrix.

Not fixed here

Why portable export of these two got so slow. A dl3 log shows an 81 minute silent gap after the runner starts plus memory pressure warnings, so raising the timeout would not be honest. #21692 tracks the real investigation, and the skip should be removed once that is done.

How this was verified

gather_test_models.py was run directly, with and without the change, for every
event and target OS the workflows actually use, and the emitted matrices were
compared:

event target OS jobs before jobs after
pull_request linux 6 6
pull_request macos 4 4
push linux 52 52
push macos 50 50
schedule linux 58 56
schedule macos 56 54

The pull_request and push matrices are byte for byte identical, so the pull
request and trunk signal is untouched. The only entries missing from schedule
are dl3 / portable and edsr / portable. The xnnpack-quantization-delegation
variants of both models are still there, so neither model loses coverage.

periodic.yml is the only workflow that calls this script, so nothing else is
affected.

Copilot AI lite review requested due to automatic review settings August 8, 2026 23:03
@pytorch-bot

pytorch-bot Bot commented Aug 8, 2026

Copy link
Copy Markdown

🔗 Helpful Links

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

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

❌ 52 Cancelled Jobs, 1 Pending, 2 Unrelated Failures

As of commit 09fd0ee with merge base fb5eedc (image):

CANCELLED JOBS - The following jobs were 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.

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@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 Aug 8, 2026
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

Copilot AI review requested due to automatic review settings August 8, 2026 23:12
@shoumikhin
shoumikhin force-pushed the shoumikhin/skip-portable-dl3-edsr-in-periodic branch from de189b9 to ec554ca Compare August 8, 2026 23:12

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings August 10, 2026 05:51
@shoumikhin
shoumikhin force-pushed the shoumikhin/skip-portable-dl3-edsr-in-periodic branch from ec554ca to 09fd0ee Compare August 10, 2026 05:51

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/periodic 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.

periodic: dl3 and edsr on the portable backend never finish inside the 90 minute limit

2 participants