Files
ds4/misc/qwen-drift-fix-2026-10-03/fix-ab-run.log
T
Giorgio Oppo 37f66ba3c9 Metal: restore main arithmetic for resident Qwen prefill
Scope the legacy half/unsplit projection policy and parent-chunk attention
dispatch to SSD streaming graphs. Resident prompts again use main's FP32
small-batch F16/Q8 projections, F32 split-K reductions and per-range attention
at the dense/sparse boundary. This corrects a policy regression that changed
GDN state and subsequent greedy tokens. Decode and SSD arithmetic are retained.

Add a bounded regression test with a frozen 0aaea5a dispatch oracle, independent
attention references, negative controls, guard regions and immutable inputs
and weights. Exercise retained/unretained command buffers and fast/safe Metal
math. Require SSD mode for the existing legacy-unsplit generation reference.

Archive source provenance, replay helpers, a frozen HC shader oracle, the
resident fixture generator and full-vocabulary/greedy A/B captures. Exclude
models, executables, object files and generated source checkouts. Pending
experimental production kernel changes remain outside this commit.

Validation on Apple M1 Max, 32 GiB:
- Build ds4, ds4-server and regression tests from exactly the staged sources.
- Four Metal validation/math/command-buffer configurations pass; the old
  resident policy fails the regression test as expected.
- Resident repeated-weight Q4 fixture: all 248320 logits are bit-identical to
  main for 29, 575 and 5942-token prompts; both 64-step greedy dumps match.
- Full Q4 SSD: 29 and 575-token prompt dumps are byte-identical before/after.
- HC shader reference: 71793 comparisons, no differences.
- One-shot/session generation and SSD legacy-reference tests match all logits
  across the prompt frontier and eight continuation tokens.
- Memory planning and whitespace checks pass.

The resident fixture uses repeated real layer weights and zero PLE. Results
are arithmetic regressions, not quality or performance claims; the tester's
full Q2/M4 Max configuration still needs external confirmation.
2026-10-03 12:02:43 +02:00

36 lines
3.8 KiB
Plaintext

START resident-logits rome29 base0aa
DONE resident-logits rome29 base0aa 3.352
START resident-logits rome29 rootfix
COMPARE {"series": "resident-logits", "name": "rome29", "reference": "base0aa", "candidate": "rootfix", "json_identical": true, "reference_wall_seconds": 3.3523515420092735, "candidate_wall_seconds": 0.8399350000108825, "wall_speedup_percent": 299.1203535947233, "different_float32": 0, "same_argmax": true, "max_abs": 0.0, "max_abs_token": 0, "mean_abs": 0.0, "first_different_float32": null, "exact": true}
DONE resident-logits rome29 rootfix 0.84
START resident-logits book575 base0aa
DONE resident-logits book575 base0aa 3.203
START resident-logits book575 rootfix
COMPARE {"series": "resident-logits", "name": "book575", "reference": "base0aa", "candidate": "rootfix", "json_identical": true, "reference_wall_seconds": 3.202876292009023, "candidate_wall_seconds": 2.89413404201332, "wall_speedup_percent": 10.667862839584474, "different_float32": 0, "same_argmax": true, "max_abs": 0.0, "max_abs_token": 0, "mean_abs": 0.0, "first_different_float32": null, "exact": true}
DONE resident-logits book575 rootfix 2.894
START resident-logits book5942 base0aa
DONE resident-logits book5942 base0aa 24.967
START resident-logits book5942 rootfix
COMPARE {"series": "resident-logits", "name": "book5942", "reference": "base0aa", "candidate": "rootfix", "json_identical": true, "reference_wall_seconds": 24.96705474999908, "candidate_wall_seconds": 24.270980041997973, "wall_speedup_percent": 2.867929959139004, "different_float32": 0, "same_argmax": true, "max_abs": 0.0, "max_abs_token": 0, "mean_abs": 0.0, "first_different_float32": null, "exact": true}
DONE resident-logits book5942 rootfix 24.271
START resident-greedy rome29 base0aa
DONE resident-greedy rome29 base0aa 4.304
START resident-greedy rome29 rootfix
COMPARE {"series": "resident-greedy", "name": "rome29", "reference": "base0aa", "candidate": "rootfix", "json_identical": true, "reference_wall_seconds": 4.304410208002082, "candidate_wall_seconds": 3.651166291994741, "wall_speedup_percent": 17.891376720901263, "same_tokens": true, "common_token_prefix": 64, "first_different_step_zero_based": null, "selected_bytes_identical": true, "exact": true}
DONE resident-greedy rome29 rootfix 3.651
START resident-greedy book575 base0aa
DONE resident-greedy book575 base0aa 6.311
START resident-greedy book575 rootfix
COMPARE {"series": "resident-greedy", "name": "book575", "reference": "base0aa", "candidate": "rootfix", "json_identical": true, "reference_wall_seconds": 6.311188959007268, "candidate_wall_seconds": 6.087769667006796, "wall_speedup_percent": 3.6699695327060855, "same_tokens": true, "common_token_prefix": 64, "first_different_step_zero_based": null, "selected_bytes_identical": true, "exact": true}
DONE resident-greedy book575 rootfix 6.088
START ssd-logits rome29 before-fix
DONE ssd-logits rome29 before-fix 9.363
START ssd-logits rome29 rootfix
COMPARE {"series": "ssd-logits", "name": "rome29", "reference": "before-fix", "candidate": "rootfix", "json_identical": true, "reference_wall_seconds": 9.362553540995577, "candidate_wall_seconds": 6.546709292000742, "wall_speedup_percent": 43.01159748204253, "different_float32": 0, "same_argmax": true, "max_abs": 0.0, "max_abs_token": 0, "mean_abs": 0.0, "first_different_float32": null, "exact": true}
DONE ssd-logits rome29 rootfix 6.547
START ssd-logits book575 before-fix
DONE ssd-logits book575 before-fix 12.029
START ssd-logits book575 rootfix
COMPARE {"series": "ssd-logits", "name": "book575", "reference": "before-fix", "candidate": "rootfix", "json_identical": true, "reference_wall_seconds": 12.029150457994547, "candidate_wall_seconds": 11.924922291000257, "wall_speedup_percent": 0.874036446115456, "different_float32": 0, "same_argmax": true, "max_abs": 0.0, "max_abs_token": 0, "mean_abs": 0.0, "first_different_float32": null, "exact": true}
DONE ssd-logits book575 rootfix 11.925