Skip to content

ARM Ethos-U55: Enable support for aten.upsample_nearest2d.vec#21585

Description

@etrommer

馃殌 The feature, motivation and pitch

Several Ultralytics Yolo variants use 2x2 nearest neighbor upsampling operators, which are explicitly blacklisted for lowering to U55 (for U85, they can be lowered without issues):

exir_ops.edge.aten.upsample_nearest2d.vec, # RESIZE

For TFlite exports, this operator is correctly ran on the NPU, while for ExecuTorch, this is currently the only remaining operator in the model running on CPU, leading to a much higher runtime and insertion of Q/DQ nodes in the graph.

According to the documentation, it should be possible to run this operator on U55: https://gitlab.arm.com/artificial-intelligence/ethos-u/ethos-u-vela/-/blob/main/SUPPORTED_OPS.md?ref_type=heads#ethos-u55-and-ethos-u65-tflite-resize_nearest_neighbor-constraints

Since Yolo models are quite a common use case for platforms with U55, I think it would make sense to add the necessary plumbing for this operator in the ExecuTorch -> U55 path.

Alternatives

No response

Additional context

Comparison of ExecuTorch graph of Yolo v26 on Ethos-U55 vs. TFlite graph:

Image Image

RFC (Optional)

No response

cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani

Metadata

Metadata

Assignees

Labels

module: armIssues related to arm backendpartner: armFor backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions