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
93 lines
2.7 KiB
JSON
93 lines
2.7 KiB
JSON
[
|
|
{
|
|
"build_commit": "e71b80510",
|
|
"build_number": 10849,
|
|
"cpu_info": "Intel(R) Xeon(R) Platinum 8480C",
|
|
"gpu_info": "",
|
|
"backends": "CPU",
|
|
"model_filename": "/data/zhoutaichang/.cache/huggingface/hub/models--XHToken--Spark-X2.5-1.7B-GGUF/snapshots/23e1fcac55e7dd71e4c12a23723cc228ba0e5e85/Spark-X2.5-1.7B-Q4_K_M.gguf",
|
|
"model_type": "spark2_5 1.7B Q4_K - Medium",
|
|
"model_size": 1102073856,
|
|
"model_n_params": 1707657216,
|
|
"n_batch": 2048,
|
|
"n_ubatch": 512,
|
|
"n_threads": 4,
|
|
"cpu_mask": "0x0",
|
|
"cpu_strict": false,
|
|
"poll": 50,
|
|
"type_k": "f16",
|
|
"type_v": "f16",
|
|
"n_gpu_layers": -1,
|
|
"n_cpu_moe": 0,
|
|
"split_mode": "layer",
|
|
"main_gpu": 0,
|
|
"no_kv_offload": false,
|
|
"flash_attn": -1,
|
|
"devices": "auto",
|
|
"tensor_split": "0.00",
|
|
"tensor_buft_overrides": "none",
|
|
"load_mode": "auto",
|
|
"lazy_mode": "auto",
|
|
"embeddings": false,
|
|
"no_op_offload": 0,
|
|
"no_host": false,
|
|
"fit_target": 0,
|
|
"fit_min_ctx": 0,
|
|
"n_prompt": 512,
|
|
"n_gen": 0,
|
|
"n_depth": 0,
|
|
"test_time": "2026-09-11T17:14:01Z",
|
|
"avg_ns": 2437249430,
|
|
"stddev_ns": 66433948,
|
|
"avg_ts": 210.202021,
|
|
"stddev_ts": 5.922750,
|
|
"samples_ns": [ 2468232968, 2479407287, 2475612647, 2441614629, 2321379621 ],
|
|
"samples_ts": [ 207.436, 206.501, 206.817, 209.697, 220.558 ]
|
|
},
|
|
{
|
|
"build_commit": "e71b80510",
|
|
"build_number": 10849,
|
|
"cpu_info": "Intel(R) Xeon(R) Platinum 8480C",
|
|
"gpu_info": "",
|
|
"backends": "CPU",
|
|
"model_filename": "/data/zhoutaichang/.cache/huggingface/hub/models--XHToken--Spark-X2.5-1.7B-GGUF/snapshots/23e1fcac55e7dd71e4c12a23723cc228ba0e5e85/Spark-X2.5-1.7B-Q4_K_M.gguf",
|
|
"model_type": "spark2_5 1.7B Q4_K - Medium",
|
|
"model_size": 1102073856,
|
|
"model_n_params": 1707657216,
|
|
"n_batch": 2048,
|
|
"n_ubatch": 512,
|
|
"n_threads": 4,
|
|
"cpu_mask": "0x0",
|
|
"cpu_strict": false,
|
|
"poll": 50,
|
|
"type_k": "f16",
|
|
"type_v": "f16",
|
|
"n_gpu_layers": -1,
|
|
"n_cpu_moe": 0,
|
|
"split_mode": "layer",
|
|
"main_gpu": 0,
|
|
"no_kv_offload": false,
|
|
"flash_attn": -1,
|
|
"devices": "auto",
|
|
"tensor_split": "0.00",
|
|
"tensor_buft_overrides": "none",
|
|
"load_mode": "auto",
|
|
"lazy_mode": "auto",
|
|
"embeddings": false,
|
|
"no_op_offload": 0,
|
|
"no_host": false,
|
|
"fit_target": 0,
|
|
"fit_min_ctx": 0,
|
|
"n_prompt": 0,
|
|
"n_gen": 128,
|
|
"n_depth": 0,
|
|
"test_time": "2026-09-11T17:14:15Z",
|
|
"avg_ns": 5289126007,
|
|
"stddev_ns": 63024171,
|
|
"avg_ts": 24.203349,
|
|
"stddev_ts": 0.288883,
|
|
"samples_ns": [ 5363916055, 5306624609, 5325596808, 5238325957, 5211166606 ],
|
|
"samples_ts": [ 23.8632, 24.1208, 24.0349, 24.4353, 24.5626 ]
|
|
}
|
|
]
|