Date: 2026-07-13
Status: closed as the active optimization lane. The requested performance objectives were not reached. Preserve the lane as a measured research packet; do not resume it with generic configuration sweeps or launch-count-only fusion.
The objective was a single active generation at:
100 tok/s on one Intel Arc Pro B70; and200 tok/s using up to four B70s, never aggregate throughput.The final policy-compliant result for the primary one-B70 Q4_0/DFlash lane is:
47.818818 tok/s median for generated tokens 1-100 after TTFT;39.869534, mean 46.638647;cached_tokens=0 throughout;e3546c794 plus the preserved local SYCL stack; andcmrjbx8bc02g8mj01yzz2v701.The matching AOT control was 44.2205 tok/s, so the final fused Q6_K draft
LM-head/top-1 boundary delivered a real +8.14% end-to-end gain. This record is
documented in
experiments/qwen27-dflash-sycl-b70/notes/2026-07-13-q6k-m6-fused-top1-production-record.md.
Favorable code prompts reached about 74 tok/s with high DFlash acceptance,
but the strict mixed suite did not. That workload-specific observation is not
the product result and must not be substituted for it. The separate vLLM
AutoRound TP2 lane reached 95.384868 tok/s, but it is a different target,
quantization/runtime identity and still missed the requested 200 tok/s
single-session objective.
94.3% acceptance on the controlled favorable prompt while Flash
Attention remained enabled. The important lesson is to test speculative KV
precision independently before rejecting the draft model or attention
implementation.39.249 to 42.641 to 44.255 tok/s.47.819 tok/s record.142x
faster rebuild iteration than relinking the complete SYCL backend.The final limitation was not one unexplained 13 ms framework bucket.
Measured speculative-cycle economics showed several coupled constraints:
58.7 ms in width-6 target verification,
10.0 ms in draft decode/sampling, 1.0 ms in feature injection, and up to
1.2 ms in acceptance/commit. Target verification dominated.2.788 tokens/cycle at 59.64% proposal acceptance. Its
target verifier was 45.646 ms of a 56.848 ms accounted cycle. Removing
all draft overhead alone would still have reached only about 59 tok/s.1.516 GiB; the QKVZAB pack needs about 2.11 GiB. Both do
not safely coexist with the model and a 2 GiB reserve.The key engineering mistake to avoid repeating is equating fewer launches with a faster critical path. Several fusions enlarged kernels, raised register or transcendental cost, or simply moved work without removing a target weight read. End-to-end AOT crossover—not launch count—must decide promotion.
0.3 ms and failed the 3% MTP gate.6.67%.1.00%; combining convolution cache regressed
1.10%; QK normalization was neutral.50.164 tok/s.50.895 tok/s; a hindsight per-prompt oracle
was only 52.245 tok/s.0.55 ms and
improved a short crossover by only 1.6%, below the promotion gate.1.403 ms.These items are implementation artifacts, not measured wins:
2.328 ms/48-layer saving. Production matcher/integration compiled
through host objects and BMG AOT linking but was not run end to end. See the
unverified integration handoff
and its scoped patch.4 ms for all 48 layers, but it has not been
compared against the real production fixture or integrated. See the
compile-only handoff.The protected source remains /home/steve/src/llama.cpp at base
e3546c7948e3af463d0b401e6421d5a4c2faf565. It is intentionally dirty and
must not be reset or cleaned. At closure, its tracked binary diff SHA-256 was
bee7b62a0aeda711f4ef9d3ff4b102b87c11908b4b67539960be34a4edfe553f;
untracked files are listed by its Git status and preserved separately where
needed. The old Qwen benchmark server on localhost port 19443 was stopped; the
public :8000 service was not touched.
Carry these rules forward:
ggml_fp16_t;
numerical conversion of storage objects caused an all-zero kernel failure.DeepSeek should start with fit and architecture viability, then a strict clean baseline and cycle decomposition. Do not copy the Qwen fused decoder wholesale: MoE routing, attention/cache layout, expert residency, and collectives will change the dominant economics.
Reopen this Qwen lane only with one of the following concrete changes:
30 ms per useful cycle.Do not reopen it for flag sweeps, generic graph experiments, isolated launch count reductions, or favorable-prompt-only DFlash results.