# One Rust pipeline, 20 edge platforms: full COCO on device, Parquet predictions and Perfetto traces per run

> Source: <https://discuss.huggingface.co/t/one-rust-pipeline-20-edge-platforms-full-coco-on-device-parquet-predictions-and-perfetto-traces-per-run/179241#post_1>
> Published: 2026-08-25 21:12:51+00:00

We published the EdgeFirst Model Zoo on the Hub: YOLOv5, YOLOv8, YOLO11 and YOLO26, detection and instance segmentation, measured on 20 edge platforms including NXP i.MX 8M Plus and i.MX 95, NXP Ara240, Raspberry Pi 5 with Hailo-8L, Jetson Orin Nano, Qualcomm Hexagon, Apple Neural Engine on macOS and iOS, plus x86, Arm and CUDA references.

The part worth talking about is the validation pipeline, not the leaderboard. It is one Rust pipeline, the same code we ship for deployment, running on every platform above.

Our open source EdgeFirst HAL handles the zero-copy/dma pre-processing and post-processing pipeline. Letterbox resize, normalize and the NHWC to NCHW transpose run in OpenGL and write directly into the execution provider’s DMA-enabled memory, with no intermediate copy. Model decoding and post-processing are on the same path, including a quantized NMS.

The pipeline runs the full COCO val2017 set, all 5000 images, on the device. Accuracy is computed on the target in Rust, all native and on-target.

Every run writes three artifacts, and every cell on every model card links back to the session that produced it:

That is 837 sessions so far.

The traces are why we headline measured throughput rather than dividing into the sum of the stage times. YOLOv5 Nano on i.MX 95 with the eIQ Neutron NPU has per-stage means of 12.8, 12.9 and 18.0 ms. They sum to 43.7 ms, which divides out to roughly 23 FPS. Measured throughput is 55.2 FPS, because the runtime overlaps stages across frames, and the trace shows the run is bound by post-process rather than by the NPU.

Read the introduction article on : [Introducing the EdgeFirst Model Zoo](https://huggingface.co/blog/EdgeFirst/model-zoo-intro)
