You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds the batched/paged 27B dense text forward and wires the runner to it,
so the dense (Qwen3.6-27B W4A4) arch runs through the same PAGED engine as
the 35B MoE model. CPU-only; the W4A4 GPU GEMM + oracle golden stay GPU-gated.
- Qwen3_5DenseModel::Forward (qwen3_5.cpp): batched/paged dense forward with
the same signature/structure as Qwen3_5Model::Forward (paged KV cache for
full-attn, batched GDN recurrent state for GDN, f32 residual thread). Reuses
the 35B GdnBlockPaged/FullAttnBlockPaged + paged machinery VERBATIM via a new
RunDenseLayerPaged (copy of RunLayerPaged with DenseMlpBlock in place of
MoeBlock). Single-seq ForwardDense kept as the paged==dense reference anchor.
- GPUModelRunner: Qwen3_5DenseWeights constructor overload + a {moe,dense}
weights pointer pair (was a single MoE reference); execute_model routes to the
dense forward when dense_weights_ is set. The MoE fp4 decode-graph fast path
stays inert on the dense arch. initialize_kv_cache unchanged (config-driven).
- test_qwen27_paged_forward.cpp: 27B analogue of the 35B paged anchor test
(paged==dense full-prefill, multi-block, decode-via-KV-cache, GDN-state
zeroing), all within tolerance. Full CPU ctest 86/86 green; clean -Werror.
- Notes §5 step 3b checked off; deviations recorded in porting-inventory §9.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UJyFKcK62CcR3imhgbiBnW
0 commit comments