AI Edge Bench is a starting point for reproducible, on-device LLM benchmarks across inference frameworks.
Status: Reproducible benchmark containers for llama.cpp and LiteRT-LM (container setup), a framework-neutral harness that times both frameworks the same way and checks their accuracy (harness), and the first published comparison:
The optional ONNX Runtime GenAI CPU adapter for the Apple ARM VM has a separate exploratory suite. Its independently converted model files are not weight-matched to the first report; see model staging and validation.
Composable images and a per-machine compose overlay cover AMD EPYC 7443P (Zen 3), AMD Strix Halo (Zen 5), NVIDIA DGX Spark (GB10/Cortex-X925) and Apple M5 Max:
cp .env.example .env
make base # shared harness image
make MACHINE=epyc-7443p images # build llama.cpp + LiteRT-LM
make MACHINE=epyc-7443p models # download Gemma 4 E2B weights
make MACHINE=epyc-7443p bench # llama.cpp, then LiteRT-LM ±YNNPACK
Run make machines for the available targets. Read
docs/containers.md for the reproducibility contract, the
accelerator caveats, and what the YNNPACK comparison does and does not measure.
make tools # offline tools image
make MACHINE=apple-m5-max matched-models # GGUF with the .litertlm's exact weights
make datasets # pinned MMLU + GSM8K
make MACHINE=apple-m5-max suite-perf # interleaved timing rounds
make MACHINE=apple-m5-max suite-accuracy # accuracy gate
make MACHINE=apple-m5-max report # report, charts, history
The suite definition (suites/gemma4-e2b-cpu.json) holds three tracks: matched (bit-identical weights, same prompt tokens, decoding, context and threads), fastest (each framework's best tuned, accuracy-gated configuration) and reference (stock llama.cpp model and defaults). See docs/harness.md.
See benchmark methodology for the measurement, accuracy-gate, reporting and history-tracking rules.
Read CONTRIBUTING.md before proposing a framework adapter, benchmark, or result. This project is licensed under the Apache License 2.0.
AI Edge Bench is a starting point for reproducible, on-device LLM benchmarks across inference frameworks.
Status: Reproducible benchmark containers for llama.cpp and LiteRT-LM (container setup), a framework-neutral harness that times both frameworks the same way and checks their accuracy (harness), and the first published comparison:
The optional ONNX Runtime GenAI CPU adapter for the Apple ARM VM has a separate exploratory suite. Its independently converted model files are not weight-matched to the first report; see model staging and validation.
Composable images and a per-machine compose overlay cover AMD EPYC 7443P (Zen 3), AMD Strix Halo (Zen 5), NVIDIA DGX Spark (GB10/Cortex-X925) and Apple M5 Max:
cp .env.example .env
make base # shared harness image
make MACHINE=epyc-7443p images # build llama.cpp + LiteRT-LM
make MACHINE=epyc-7443p models # download Gemma 4 E2B weights
make MACHINE=epyc-7443p bench # llama.cpp, then LiteRT-LM ±YNNPACK
Run make machines for the available targets. Read
docs/containers.md for the reproducibility contract, the
accelerator caveats, and what the YNNPACK comparison does and does not measure.
make tools # offline tools image
make MACHINE=apple-m5-max matched-models # GGUF with the .litertlm's exact weights
make datasets # pinned MMLU + GSM8K
make MACHINE=apple-m5-max suite-perf # interleaved timing rounds
make MACHINE=apple-m5-max suite-accuracy # accuracy gate
make MACHINE=apple-m5-max report # report, charts, history
The suite definition (suites/gemma4-e2b-cpu.json) holds three tracks: matched (bit-identical weights, same prompt tokens, decoding, context and threads), fastest (each framework's best tuned, accuracy-gated configuration) and reference (stock llama.cpp model and defaults). See docs/harness.md.
See benchmark methodology for the measurement, accuracy-gate, reporting and history-tracking rules.
Read CONTRIBUTING.md before proposing a framework adapter, benchmark, or result. This project is licensed under the Apache License 2.0.