LocalFit

Method

How we estimate

A Measured value is always preferred. Otherwise LocalFit estimates, shown with “~”. Calibration is recomputed at every build from 916 decode and 1,041 prefill observations that are single-device, resolved to a catalogued GPU/Mac, free of research review blockers, at shallow context and with a known quant width.

Generation and prompt speed

Generation ≈ efficiency × memory bandwidth ÷ bytes read per token
Prompt (prefill) ≈ efficiency × vendor dense FP16 TFLOPS ÷ (2 × active parameters)
  • Bytes per token = the actual file size (dense) or file size × active ÷ total parameters (MoE). KV reads are ignored (short context).
  • If a device (or the same Apple chip and GPU-core count) has ≥3 measured points on the backend, its median effective bandwidth / FLOP rate is used instead, which also covers devices without published figures.
  • Apple prefill otherwise uses the median measured prefill FLOP rate per GPU core of the same chip generation (e.g. all M4 variants, ≥5 points from ≥2 chips) × the chip's GPU-core count, because Apple publishes no GPU FP16 figure.
  • Backends: CUDA for NVIDIA, ROCm then Vulkan for AMD GPUs, Vulkan for AMD unified memory, Metal or MLX for Macs, SYCL/Vulkan for Intel. With no calibration for the backend, the value stays Unknown.

Decode efficiency tokens/s × bytes per token ÷ bandwidth

BackendModelMedian efficiencyPointsDevicesLeave-one-device-out error
llama.cpp CUDADense0.67351792112%used
llama.cpp CUDAMoE0.4832461118%used
llama.cpp MetalDense0.74591853111%used
llama.cpp MetalMoE0.260242—too few points
MLXDense0.8231601810%used
MLXMoE0.3416942030%used
llama.cpp ROCmDense0.5586117910%used
llama.cpp ROCmMoE0.376721—too few points
llama.cpp Vulkan · AMDDense0.6706129815%used
llama.cpp Vulkan · AMDMoE0.51748473%used
llama.cpp Vulkan · NVIDIADense0.7063681510%used
llama.cpp Vulkan · NVIDIAMoE0.76926632%used

Prefill efficiency tokens/s × 2 × active params ÷ FP16 FLOP/s

BackendModelMedian efficiencyPointsDevicesLeave-one-device-out error
llama.cpp CUDADense0.94891491318%used
llama.cpp CUDAMoE0.445624825%used
llama.cpp ROCmDense0.3468116919%used
llama.cpp ROCmMoE0.104772—used
llama.cpp Vulkan · AMDDense0.285141828%used
llama.cpp Vulkan · AMDMoE0.0827923575%used
llama.cpp Vulkan · NVIDIADense0.7918591018%used
llama.cpp Vulkan · NVIDIAMoE0.18157444%used

Error = median absolute error of each device's efficiency when predicted from the other devices. MoE and low-sample groups are much less reliable. Apple prefill relies on device-level calibration because Apple does not publish GPU FP16 throughput.

First token

First token ≈ 4K-token prompt ÷ prompt speed

It excludes model load, queueing and any reasoning phase before the first visible token. Only 8 explicitly measured end-to-end TTFT observations exist in the database; they are shown as Measured only for their own test.

Unknown values

Unknown means no source and no defensible estimate: for example an unpublished FP16 or bandwidth figure with no device calibration, a MoE without a published active size, or a cache formula that the research could not establish. Unknown is never treated as zero; memory totals with unknown terms are marked “conditional” or “+”.

Not estimated

Power draw and GPU utilisation are not shown: vendor power ratings are not measured LLM load, and the earlier heuristic was not calibrated.