Skip to content
Merged
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
bc7349b
Update
GregoryComer Sep 5, 2025
223d5d6
Update
GregoryComer Sep 5, 2025
ed8a859
Update
GregoryComer Sep 5, 2025
774f59f
Update
GregoryComer Sep 5, 2025
51137cd
Update
GregoryComer Sep 5, 2025
4410ca1
Update
GregoryComer Sep 5, 2025
d6d1c31
Update
GregoryComer Sep 5, 2025
bdad6bb
Update
GregoryComer Sep 5, 2025
5d3597e
Update
GregoryComer Sep 5, 2025
6443b44
Update
GregoryComer Sep 5, 2025
f30b0bf
Update
GregoryComer Sep 5, 2025
db1e176
Update
GregoryComer Sep 10, 2025
1d00f65
Update
GregoryComer Sep 10, 2025
311e536
Update
GregoryComer Sep 10, 2025
26e4aaf
Update
GregoryComer Sep 10, 2025
f4e54ae
Update
GregoryComer Sep 11, 2025
c152b3f
Update
GregoryComer Sep 11, 2025
e670dfc
Update
GregoryComer Sep 11, 2025
6a55adc
Update
GregoryComer Sep 11, 2025
9235cfd
Update
GregoryComer Sep 11, 2025
569446d
Update
GregoryComer Sep 11, 2025
a6181ef
Update
GregoryComer Sep 11, 2025
274a9b4
Update
GregoryComer Sep 11, 2025
bd5faf0
Update
GregoryComer Sep 11, 2025
4a50cab
Update
GregoryComer Sep 11, 2025
a00566c
Update
GregoryComer Sep 11, 2025
70ee95b
Update
GregoryComer Sep 11, 2025
e72370f
Update
GregoryComer Sep 13, 2025
9a8b717
Update
GregoryComer Sep 13, 2025
c2e85c0
Update
GregoryComer Sep 13, 2025
f3218ac
Update
GregoryComer Sep 13, 2025
e72553e
Update
GregoryComer Sep 13, 2025
7b79d5a
Update
GregoryComer Sep 13, 2025
b5c85f7
Update
GregoryComer Sep 16, 2025
88dc7d0
Update
GregoryComer Sep 16, 2025
6b9c467
Update
GregoryComer Sep 16, 2025
e2e063c
Update
GregoryComer Sep 16, 2025
8581f01
Update
GregoryComer Sep 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion backends/test/suite/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
UNSUPPORTED_PORTABLE_OPS = {
"aten::_embedding_bag",
"aten::_adaptive_avg_pool2d",
"aten::adaptive_max_pool2d",
"aten::median",
"aten::median.dim",
"aten::round.decimals",
Expand All @@ -34,6 +35,7 @@
TestResult,
)
from executorch.exir import EdgeProgramManager
from executorch.exir.dialects._ops import ops as exir_ops


# A list of all runnable test suites and the corresponding python package.
Expand All @@ -43,6 +45,24 @@
}


def _graph_has_unsupported_patterns(program: torch.export.ExportedProgram) -> bool:
# Returns true if the model contains patterns that will fail when running on the ET
# portable kernel library.

# Check for 3d convolutions. All convs (1d, 2d, 3d) use the same op, so we need to look at
# the input meta to determine the rank.
for node in program.graph.nodes:
if (
node.op == "call_function"
and node.target == exir_ops.edge.aten.convolution.default
):
in_rank = node.args[0].meta["val"].dim()
if in_rank != 4:
return True

return False


def _get_test_seed(test_base_name: str) -> int:
# Set the seed based on the test base name to give consistent inputs between backends. Add the
# run seed to allow for reproducible results, but still allow for run-to-run variation.
Expand Down Expand Up @@ -162,7 +182,7 @@ def build_result(
# Check if any undelegated ops are in the unsupported ops set.
has_unsupported_ops = any(
op in UNSUPPORTED_PORTABLE_OPS for op in undelegated_op_counts.keys()
)
) or _graph_has_unsupported_patterns(edge_manager._etrecord.edge_dialect_program)

# Skip the test if there are unsupported portable ops remaining.
if has_unsupported_ops:
Expand Down
Loading