The packaging commit shipped the code and a summary of the numbers. It left out
everything the numbers are measured *against*, which is most of what makes them
checkable.
Added:
baselines/ llama.cpp runs (thread sweeps, NUMA sweeps, the
interleaved A/B passes behind the headline decode
figure) and the quality references: each build
against its own bf16 over 12 greedy prompts.
benchmarks/.../results/ 102 artifacts backing the published figures, each
with a provenance block naming the model,
quantization, thread set and build SHAs.
docs/engines/ the engine analyses -- llama.cpp, ExecuTorch, MNN,
ncnn, vLLM, vLLM-Omni -- and the cross-engine and
device-simulation comparisons.
docs/analysis/ the full study documents the summaries distil.
docs/edge/comparisons.md where this fork sits against llama.cpp and why:
decode is llama.cpp's, prefill is ours by ~2x, and
since neither engine exceeds 39% of the measured
222 GB/s ceiling the decode gap is the execution
model rather than the kernels.
docs/edge/environment.md pins and machine, and the correction below.
On "the modified vllm": there isn't one, and the doc says so plainly because it
is the obvious assumption. The vLLM checkout is clean upstream (0 commits
ahead, 0 uncommitted) and the installed wheel is stock 0.28.0+cpu. This fork
changes vLLM's CPU *behaviour* through vLLM's own extension points at import
time -- three CPU patches in vllm_omni/patch.py, the quantization-config
registry, the IR op registry, platform hooks -- specifically so the changes
survive a wheel upgrade rather than being lost on it. One of those patches is
why "KV sizing is not a memory lever" looked true for months: CpuPlatform
overwrote kv_cache_memory_bytes unconditionally, so the setting had no effect.
There is no patch series to apply; pin the version and let patch.py do the rest.
.gitignore gains explicit exceptions: upstream's blanket `*.json` and `results/`
rules were silently eating the measurement artifacts, which in this fork are the
substance rather than build output. Binary captures stay ignored.
No vLLM or llama.cpp source is redistributed -- only output produced with them.
NOTICE records both.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L1ax5wYLA6XbqEL1i8L9gZ
1 line
8.1 KiB
JSON
1 line
8.1 KiB
JSON
{"execution_summary": {"estimated_inference_time": 751, "estimated_inference_peak_memory": 138072064, "first_load_time": 114182, "first_load_peak_memory": 113254400, "warm_load_time": 112303, "warm_load_peak_memory": 125153280, "compile_time": 0, "compile_peak_memory": 0, "compile_memory_increase_range": [0, 0], "compile_memory_peak_range": [0, 0], "first_load_memory_increase_range": [0, 2425792], "first_load_memory_peak_range": [1277952, 10691280], "warm_load_memory_increase_range": [0, 3745856], "warm_load_memory_peak_range": [3039232, 12596560], "inference_memory_increase_range": [0, 553008], "inference_memory_peak_range": [0, 9093312], "all_compile_times": [], "all_first_load_times": [114182], "all_warm_load_times": [112303], "all_inference_times": [1352, 814, 790, 796, 789, 800, 795, 858, 806, 771, 780, 919, 781, 782, 779, 833, 846, 867, 796, 777, 793, 790, 814, 793, 771, 778, 755, 756, 752, 801, 760, 761, 751, 753, 752, 752, 758, 768, 755, 762, 763, 778, 807, 822, 786, 801, 827, 763, 752, 768, 762, 784, 765, 769, 765, 789, 817, 798, 802, 769, 804, 779, 844, 806, 790, 798, 824, 776, 767, 763, 766, 764, 774, 778, 762, 781, 766, 792, 822, 1065, 1101, 1252, 967, 1195, 1185, 831, 805, 781, 824, 810, 815, 859, 826, 837, 910, 787, 780, 790, 841, 786]}, "execution_detail": [{"name": "Input", "type": "Input", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 196526}, {"name": "rms_norm_/layers.0/Mul_1_output_0", "type": "rms", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 35201}, {"name": "/layers.0/q_k_v_proj/MatMul", "type": "/layers.0/q", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/q_k_v_proj/MatMul_post_reshape", "type": "/layers.0/q", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "node_Slice_497", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 50146}, {"name": "node_Slice_500", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 14700}, {"name": "node_Slice_503", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 41331}, {"name": "/layers.0/Reshape", "type": "/layers.0/Reshape", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Reshape_1", "type": "/layers.0/Reshape", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 435}, {"name": "/layers.0/Reshape_2", "type": "/layers.0/Reshape", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/g_proj/MatMul", "type": "/layers.0/g", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 3404}, {"name": "/layers.0/g_proj/MatMul_post_reshape", "type": "/layers.0/g", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Sigmoid", "type": "/layers.0/Sigmoid", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 288}, {"name": "/layers.0/Reshape_3", "type": "/layers.0/Reshape", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 2107}, {"name": "node_Slice_393", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 7760}, {"name": "node_Slice_396", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 7794}, {"name": "/layers.0/Mul_2", "type": "/layers.0/Mul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 614}, {"name": "/layers.0/Neg", "type": "/layers.0/Neg", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 322}, {"name": "/layers.0/Concat", "type": "/layers.0/Concat", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 2028}, {"name": "/layers.0/Mul_3", "type": "/layers.0/Mul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 2098}, {"name": "/layers.0/Add_1", "type": "/layers.0/Add", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 4610}, {"name": "node_Slice_442", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "node_Slice_445", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Mul_4", "type": "/layers.0/Mul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 4698}, {"name": "/layers.0/Neg_1", "type": "/layers.0/Neg", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 5761}, {"name": "/layers.0/Concat_1", "type": "/layers.0/Concat", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Mul_5", "type": "/layers.0/Mul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 4413}, {"name": "/layers.0/Add_2", "type": "/layers.0/Add", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 1462}, {"name": "/layers.0/Reshape_4", "type": "/layers.0/Reshape", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 402}, {"name": "/layers.0/Concat_2", "type": "/layers.0/Concat", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 25883}, {"name": "/layers.0/Concat_3", "type": "/layers.0/Concat", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 7811}, {"name": "/layers.0/Transpose", "type": "/layers.0/Transpose", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/MatMul", "type": "/layers.0/MatMul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 94386}, {"name": "/layers.0/Mul_6", "type": "/layers.0/Mul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 20565}, {"name": "/layers.0/Add_3", "type": "/layers.0/Add", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 21107}, {"name": "/layers.0/Softmax", "type": "/layers.0/Softmax", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 11294}, {"name": "/layers.0/MatMul_1", "type": "/layers.0/MatMul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 78514}, {"name": "/layers.0/Reshape_5", "type": "/layers.0/Reshape", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Mul_7", "type": "/layers.0/Mul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 23697}, {"name": "/layers.0/out_proj/MatMul", "type": "/layers.0/out", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 81863}, {"name": "/layers.0/out_proj/MatMul_post_reshape", "type": "/layers.0/out", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Add_4", "type": "/layers.0/Add", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 2495}, {"name": "rms_norm_/layers.0/Mul_9_output_0", "type": "rms", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 9500}, {"name": "/layers.0/gate_proj/MatMul", "type": "/layers.0/gate", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 464566}, {"name": "/layers.0/gate_proj/MatMul_post_reshape", "type": "/layers.0/gate", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "node_Gelu_0", "type": "node", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 10105}, {"name": "/layers.0/up_proj/MatMul", "type": "/layers.0/up", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 459060}, {"name": "/layers.0/up_proj/MatMul_post_reshape", "type": "/layers.0/up", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Mul_12", "type": "/layers.0/Mul", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 34524}, {"name": "/layers.0/down_proj/MatMul", "type": "/layers.0/down", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 472323}, {"name": "/layers.0/down_proj/MatMul_post_reshape", "type": "/layers.0/down", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Add_7", "type": "/layers.0/Add", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 1068}, {"name": "/layers.0/Add_2_identity", "type": "/layers.0/Add", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "/layers.0/Reshape_2_identity", "type": "/layers.0/Reshape", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 0}, {"name": "Output", "type": "Output", "compute_unit": "NPU", "execution_time": 0, "execution_cycles": 7103}]} |