Which model should run on the hardware you already have?
One platform in, one model out. Every model with a benchmark row for that silicon is a candidate — after a canonical map joins the two ids the benchmark database records the same checkpoint under. Each is evaluated once for throughput, latency, precision, runtime and batch, and once for memory, then filtered on hard facts only and ranked by one published weight table. Accuracy is reported in two layers that are never merged: the model's own published figure with the metric and the dataset named, and the quantised figure observed at your precision. The winner is the top of the list — there is no override.
01 · Describe the question
Advanced
03 · How this works
The candidate universe is the models measured on your silicon
A model is a candidate here only if somebody has published a benchmark row for it on the platform you named. That is a deliberately narrow rule. The alternative — admitting every model and modelling the ones nobody measured — fills the table with rows that can never support a choice, because the number that would decide between two models is the one that was invented. A model with no row on your platform is reported as a gap, never as a silently modelled entry, and the result says how many rows the platform has at all.
Before the universe is built, a canonical map joins the ids the benchmark database records the same checkpoint under. On the Hailo-8L, SSD MobileNet v1 has its throughput rows under one id and its accuracy row under another; the same split exists for the segmentation and pose variants of YOLOv8 and YOLO11, and for three different spellings of the EfficientNet-EdgeTPU family. Without the join, one candidate would have speed and no accuracy while a phantom second had accuracy and no speed.
Nothing is recomputed — every figure comes from the engine that owns it
Throughput, latency, precision, runtime and batch are Compute Fit's answers, unchanged: the pessimistic edge of the matching benchmark rows, the three latency tiers that are never blurred, and UNKNOWN where nothing resolves. Memory for a language model is Model Memory Fit's. Memory for a vision model is the weight file plus the published TensorRT activation and workspace split, on the shared memory budget — and where no split was published, that curve is interpolated on to an architecture it was not measured on and labelled class E for exactly that reason.
One filter, one ranking, no override
A candidate is excluded if and only if a compute check fails or its memory does not fit. Not on accuracy, not on size, not on a preference: a preference changes the order of the ranked list, never its membership, and every excluded model comes back with the constraint that excluded it. UNKNOWN never excludes anything — it caps the verdict at NEEDS VALIDATION and pulls the evidence term down.
The survivors are ranked once, on four terms in [0,1]: accuracy (this model over the best in its own task and metric cohort, and zero when no accuracy was ever published), margin (one minus the throughput utilization), evidence (the mean class weight of the checks and the accuracy fact) and size (the smallest weight file over this one). The weight table is class E engineering judgement and is printed beside the scores so the arithmetic can be checked. The winner is the top of that list, full stop.
Full rules, the weight table and what invalidates a result: methodology. Related: Compute Fit answers for one named model; Hardware Match answers which platform; Benchmark Explorer is the row database underneath.