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
9 lines
5.1 KiB
JSON
9 lines
5.1 KiB
JSON
{"tag": "w4a8-g128-nofuse", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-gptq-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 52.13, "rss_mb": 8453.0, "rss_peak_mb": 8476.7, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.1522, "pp_tps": 3364.23, "tg_tokens": 128, "tg_s": 1.7271, "tg_tps": 73.53, "raw": {"pp": [0.17440469283610582, 0.17541490076109767, 0.1521894964389503], "tg": [1.7558523141779006, 1.741288021672517, 1.7787284357473254], "tg1": [0.016926162876188755, 0.01439615711569786, 0.014146057888865471]}}
|
|
{"tag": "w4a16-g128-fused", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-int4-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 68.51, "rss_mb": 8042.3, "rss_peak_mb": 8070.6, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.1505, "pp_tps": 3402.93, "tg_tokens": 128, "tg_s": 1.6184, "tg_tps": 78.47, "raw": {"pp": [0.15815730998292565, 0.15045850770547986, 0.15534949069842696], "tg": [1.649985218886286, 1.6359889470040798, 1.6321744010783732], "tg1": [0.013913698960095644, 0.013769291341304779, 0.01399048138409853]}}
|
|
{"tag": "w4a8-g128-nofuse", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-gptq-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 14.94, "rss_mb": 8319.6, "rss_peak_mb": 8352.6, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.1528, "pp_tps": 3350.83, "tg_tokens": 128, "tg_s": 1.7166, "tg_tps": 73.98, "raw": {"pp": [0.1551546179689467, 0.15429807314649224, 0.15279806219041348], "tg": [1.8323531011119485, 1.7875734940171242, 1.7306284229271114], "tg1": [0.014606636948883533, 0.015294387936592102, 0.013988425955176353]}}
|
|
{"tag": "w4a8-g128-fused", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-gptq-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 64.55, "rss_mb": 8418.2, "rss_peak_mb": 8441.9, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.1477, "pp_tps": 3465.57, "tg_tokens": 128, "tg_s": 1.7468, "tg_tps": 72.71, "raw": {"pp": [0.1485598487779498, 0.14842529594898224, 0.14773900294676423], "tg": [1.771411261986941, 1.828272869810462, 1.7606302723288536], "tg1": [0.013911445159465075, 0.013920526020228863, 0.01385196065530181]}}
|
|
{"tag": "w4a16-g128-fused", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-int4-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 12.96, "rss_mb": 7919.4, "rss_peak_mb": 7946.8, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.15, "pp_tps": 3412.23, "tg_tokens": 128, "tg_s": 1.5981, "tg_tps": 79.47, "raw": {"pp": [0.15004837000742555, 0.15867038909345865, 0.15092349611222744], "tg": [1.640803290065378, 1.6112936749123037, 1.6191998501308262], "tg1": [0.013224144000560045, 0.013160659931600094, 0.0131501080468297]}}
|
|
{"tag": "w4a8-g128-nofuse", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-gptq-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 14.72, "rss_mb": 8316.2, "rss_peak_mb": 8346.6, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.1501, "pp_tps": 3410.0, "tg_tokens": 128, "tg_s": 1.7373, "tg_tps": 73.1, "raw": {"pp": [0.1501467190682888, 0.15637517208233476, 0.1522511402145028], "tg": [1.7511884178966284, 1.76484130974859, 1.7585765281692147], "tg1": [0.013923108112066984, 0.01469977805390954, 0.014159561600536108]}}
|
|
{"tag": "w4a8-g128-fused", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-gptq-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 14.96, "rss_mb": 8282.7, "rss_peak_mb": 8342.3, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.152, "pp_tps": 3368.08, "tg_tokens": 128, "tg_s": 1.846, "tg_tps": 68.8, "raw": {"pp": [0.15289765782654285, 0.15201554354280233, 0.1526965661905706], "tg": [1.8671486796811223, 1.8718066262081265, 1.8615437718108296], "tg1": [0.01563759008422494, 0.018718563951551914, 0.015583970118314028]}}
|
|
{"tag": "w4a16-g128-fused", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-int4-g128", "dtype": "bfloat16", "compilation_config": null, "detokenize": true, "quantization": null, "enforce_eager": false, "init_s": 12.84, "rss_mb": 7918.4, "rss_peak_mb": 7946.1, "threads_bind": "32-55", "omp_num_threads": "24", "pp_tokens": 512, "pp_s": 0.1591, "pp_tps": 3218.41, "tg_tokens": 128, "tg_s": 1.59, "tg_tps": 79.87, "raw": {"pp": [0.1617804798297584, 0.15908468374982476, 0.22660941490903497], "tg": [1.6176169221289456, 1.6027018236927688, 1.6187863657251], "tg1": [0.012814681977033615, 0.012712633702903986, 0.01277841068804264]}}
|