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
5 lines
2.3 KiB
JSON
5 lines
2.3 KiB
JSON
{"tag": "int4-g64-t4", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-int4-g64", "dtype": "bfloat16", "compilation_config": null, "quantization": null, "enforce_eager": false, "init_s": 82.91, "threads_bind": "56-59", "omp_num_threads": "4", "pp_tokens": 512, "pp_s": 0.6399, "pp_tps": 800.11, "tg_tokens": 128, "tg_s": 4.6906, "tg_tps": 27.08, "raw": {"pp": [0.6730642281472683, 0.6625334718264639, 0.6399114527739584], "tg": [4.743562410119921, 4.768178966827691, 4.727575741242617], "tg1": [0.0376861528493464, 0.03693371918052435, 0.037051460705697536]}}
|
|
{"tag": "int4-g64-t8", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-int4-g64", "dtype": "bfloat16", "compilation_config": null, "quantization": null, "enforce_eager": false, "init_s": 79.73, "threads_bind": "56-63", "omp_num_threads": "8", "pp_tokens": 512, "pp_s": 0.3468, "pp_tps": 1476.15, "tg_tokens": 128, "tg_s": 2.8847, "tg_tps": 44.02, "raw": {"pp": [0.3509289128705859, 0.3550647315569222, 0.3468484482727945], "tg": [2.913811977021396, 2.907944421749562, 2.9344828412868083], "tg1": [0.023216695990413427, 0.024607220198959112, 0.023829770740121603]}}
|
|
{"tag": "int4-g64-t16", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-int4-g64", "dtype": "bfloat16", "compilation_config": null, "quantization": null, "enforce_eager": false, "init_s": 79.94, "threads_bind": "56-71", "omp_num_threads": "16", "pp_tokens": 512, "pp_s": 0.197, "pp_tps": 2599.05, "tg_tokens": 128, "tg_s": 1.9036, "tg_tps": 66.72, "raw": {"pp": [0.19884239370003343, 0.19699497427791357, 0.1986131533049047], "tg": [1.918830456212163, 1.9596990118734539, 1.9682741928845644], "tg1": [0.0156706259585917, 0.015399128664284945, 0.015269591007381678]}}
|
|
{"tag": "int4-g64-t32", "model": "/data/zhoutaichang/embedding_infer/models/spark2_5-int4-g64", "dtype": "bfloat16", "compilation_config": null, "quantization": null, "enforce_eager": false, "init_s": 78.71, "threads_bind": "56-87", "omp_num_threads": "32", "pp_tokens": 512, "pp_s": 0.1453, "pp_tps": 3524.88, "tg_tokens": 128, "tg_s": 1.5834, "tg_tps": 80.2, "raw": {"pp": [0.14525310974568129, 0.14718412281945348, 0.1640946539118886], "tg": [1.6373932622373104, 1.5962264849804342, 1.6084455288946629], "tg1": [0.012919567991048098, 0.013183748349547386, 0.012779706623405218]}}
|