[cadence] Add PR-triggered hifi op-test stage on the Xtensa ISS#20682
[cadence] Add PR-triggered hifi op-test stage on the Xtensa ISS#20682aliafzal wants to merge 2 commits into
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20682
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New Failure, 1 Unrelated FailureAs of commit 411952d with merge base 7f1cf77 ( NEW FAILURE - The following job has failed:
FLAKY - The following job failed but was likely due to flakiness present on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
The Cadence OSS CI builds the runner for hifi4 and vision and runs CPU tests (cpu-build -> cpu-test), but the hifi backend has no test stage. Add a PR-triggered op-level test for hifi that mirrors cpu-build -> cpu-test, so the op kernels are exercised on the Xtensa ISS on every PR. A new hifi-op-test job (needs: hifi-build) calls a new reusable _xtensa_test.yml, which runs .ci/scripts/test-cadence-xtensa.sh to cross-compile the op-level gtests (-DEXECUTORCH_BUILD_CADENCE_OP_TESTS=ON) and run them on xt-run. The cadence_hifi_op_tests target is defined in a new backends/cadence/hifi/operators/tests/CMakeLists.txt (wired via backends/cadence/CMakeLists.txt) and seeds the suite with one op, test_op_quantized_relu_out.
Wire the remaining nine op-level gtests already in the tree into the cadence_hifi_op_tests target, so the hifi-op-test CI stage runs the full suite (cat, div, im2row, permute, transpose, quantize_per_tensor, dequantize_per_tensor, quantized_conv2d, quantized_matmul, quantized_relu) instead of only quantized_relu. Also link aten_ops_cadence, which defines the aten-compliant ops (cat, div, im2row, permute, transpose) that the newly added tests call directly.
5612f80 to
411952d
Compare
|
@aliafzal has imported this pull request. If you are a Meta employee, you can view this in D110457351. |
The Cadence OSS CI builds the runner for hifi4 and vision and runs CPU tests (cpu-build -> cpu-test), but the hifi backend has no test stage. This adds a PR-triggered op-level test for hifi that mirrors cpu-build -> cpu-test, so the op kernels are exercised on the Xtensa ISS on every PR.
A new
hifi-op-testjob (needs: hifi-build) calls a new reusable_xtensa_test.yml, which runs.ci/scripts/test-cadence-xtensa.shto cross-compile the op-level gtests (-DEXECUTORCH_BUILD_CADENCE_OP_TESTS=ON) and run them onxt-run. Thecadence_hifi_op_teststarget is defined in a newbackends/cadence/hifi/operators/tests/CMakeLists.txt(wired viabackends/cadence/CMakeLists.txt) and seeds the suite with one op,test_op_quantized_relu_out.Same-repo PR so the cadence CI jobs run on
pull_request(fork PRs skip them).