Add PR-blocking CI for QNN model tests, operator/model testsuite, and pass unit tests (#18854)#18854
Add PR-blocking CI for QNN model tests, operator/model testsuite, and pass unit tests (#18854)#18854abhinaykukkadapu wants to merge 2 commits intopytorch:mainfrom
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/18854
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 1 New Failure, 2 Unrelated FailuresAs of commit 9b2045b with merge base 7e099b4 ( NEW FAILURE - The following job has failed:
BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@abhinaykukkadapu has exported this pull request. If you are a Meta employee, you can view the originating Diff in D100708421. |
This PR needs a
|
… pass unit tests (pytorch#18854) Summary: OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing `test-qnn-models-linux` job in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, and `test_passes.py` had no external CI coverage. Wire up three new PR-blocking CI jobs in pull.yml: 1. `test-qnn-models-linux` — runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholder 2. `test-qnn-testsuite-linux` — runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflow 3. `test-qnn-passes-linux` — runs QNN AOT pass unit tests (test_passes.py) Differential Revision: D100708421
27deb73 to
f93b767
Compare
… pass unit tests (pytorch#18854) Summary: OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing `test-qnn-models-linux` job in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, and `test_passes.py` had no external CI coverage. Wire up three new PR-blocking CI jobs in pull.yml: 1. `test-qnn-models-linux` — runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholder 2. `test-qnn-testsuite-linux` — runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflow 3. `test-qnn-passes-linux` — runs QNN AOT pass unit tests (test_passes.py) Differential Revision: D100708421
… pass unit tests (pytorch#18854) Summary: Pull Request resolved: pytorch#18854 OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing `test-qnn-models-linux` job in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, and `test_passes.py` had no external CI coverage. Wire up three new PR-blocking CI jobs in pull.yml: 1. `test-qnn-models-linux` — runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholder 2. `test-qnn-testsuite-linux` — runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflow 3. `test-qnn-passes-linux` — runs QNN AOT pass unit tests (test_passes.py) Differential Revision: D100708421
f93b767 to
2182af0
Compare
… pass unit tests (pytorch#18854) Summary: OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing `test-qnn-models-linux` job in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, and `test_passes.py` had no external CI coverage. Wire up three new PR-blocking CI jobs in pull.yml: 1. `test-qnn-models-linux` — runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholder 2. `test-qnn-testsuite-linux` — runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflow 3. `test-qnn-passes-linux` — runs QNN AOT pass unit tests (test_passes.py) Differential Revision: D100708421
2182af0 to
499e653
Compare
… pass unit tests (pytorch#18854) Summary: OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing `test-qnn-models-linux` job in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, and `test_passes.py` had no external CI coverage. Wire up three new PR-blocking CI jobs in pull.yml: 1. `test-qnn-models-linux` — runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholder 2. `test-qnn-testsuite-linux` — runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflow 3. `test-qnn-passes-linux` — runs QNN AOT pass unit tests (test_passes.py) Differential Revision: D100708421
499e653 to
d6421f5
Compare
… pass unit tests (pytorch#18854) Summary: Pull Request resolved: pytorch#18854 OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing `test-qnn-models-linux` job in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, and `test_passes.py` had no external CI coverage. Wire up three new PR-blocking CI jobs in pull.yml: 1. `test-qnn-models-linux` — runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholder 2. `test-qnn-testsuite-linux` — runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflow 3. `test-qnn-passes-linux` — runs QNN AOT pass unit tests (test_passes.py) Differential Revision: D100708421
d6421f5 to
95eb6a7
Compare
Summary:
Keep OSS CI and Internal builds in sync to avoid breaking changes when OSS prs land for ET-QNN delegate.
This diff adds two things to prevent future CMake/Buck drift:
1. **Third-party dep shim** (`third_party_libs.bzl` + OSS `BUCK`):
- `qnn_third_party_dep()` function routes QNN SDK deps to internal
targets (`fbsource//third-party/qualcomm/qnn/...`) or OSS prebuilt
targets (`//backends/qualcomm/third-party:...`) based on
`runtime.is_oss`. Follows the XNNPACK third_party_libs.bzl pattern.
- OSS BUCK file wraps the externally-downloaded QNN SDK (via
`QNN_SDK_ROOT` in `.buckconfig`) with prebuilt Buck targets.
- All `targets.bzl` files updated to use the shim instead of
hardcoded `fbsource//third-party/...` paths.
2. **Buck build CI job** in `pull.yml`:
- New `test-qnn-buck-build-linux` job using existing QNN SDK Docker
image. Downloads SDK via `download_qnn_sdk.py`, writes path to
`.buckconfig`, runs `buck2 build //backends/qualcomm/...`.
- If someone adds a file to CMake but not Buck, this job fails.
Differential Revision: D99222617
… pass unit tests (pytorch#18854) Summary: OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing `test-qnn-models-linux` job in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, and `test_passes.py` had no external CI coverage. Wire up three new PR-blocking CI jobs in pull.yml: 1. `test-qnn-models-linux` — runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholder 2. `test-qnn-testsuite-linux` — runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflow 3. `test-qnn-passes-linux` — runs QNN AOT pass unit tests (test_passes.py) Differential Revision: D100708421
95eb6a7 to
9b2045b
Compare
Summary:
OSS PRs that change QNN backend APIs can pass external CI but break internal CI (e.g., D99197179 had hundreds of internal failures). The existing
test-qnn-models-linuxjob in pull.yml was an empty placeholder, the backend test suite (operators + models) only ran on nightly, andtest_passes.pyhad no external CI coverage.Wire up three new PR-blocking CI jobs in pull.yml:
test-qnn-models-linux— runs model export tests (mv2, mv3, dl3) via test_model.sh, replacing the empty placeholdertest-qnn-testsuite-linux— runs the standardized backend test suite (operators + models with flow_qnn) via _test_backend.yml reusable workflowtest-qnn-passes-linux— runs QNN AOT pass unit tests (test_passes.py)Differential Revision: D100708421