Skip to content

Commit f1ddf6e

Browse files
borisbatclaude
andcommitted
merge: #3579's fused MoE chain under the hot-path contracts
Two conflicts in dasllama_common.das, both resolved to this branch: kv_ensure — the growth loop is split into a [cold_path] kv_grow_block_table here; master still had it inline. Both sides had already moved to long_length, so the 64-bit sweep merged silently — we ran the same fix independently. scratch_resize — the @scratch parameter. #3579 arrived with a new comment on the same function reading "grow-only no-init: contents are stage output (fully overwritten)", which is independently the exact property @scratch declares. Their new moe_experts_chain needed one annotation: the fourth team_parallel_stages lambda capture, same dispatch-API cost as the three already marked. Everything else in it passes untouched, because its only sizing op is s.chain_stages, already @scratch on this branch. Verified on the merged tree with a daslang rebuilt for #3579's lattice operators (ubyte16 >> int needs its C++): engine compiles clean, 65 changed files lint clean, ENVIRONMENT.md shows no drift, PERF fixtures hold, and test_fused_decode is 13/13 under -jit with the gpt-oss arm skipped for want of the gguf. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent e05f055 commit f1ddf6e

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

modules/dasLLAMA/dasllama/dasllama_common.das

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8363,7 +8363,7 @@ def private moe_experts_chain(t : Model; var s : Session; l : int64) {
83638363
let fbp = biased ? addr<float const?>(t.fblob[0]) : null
83648364
let idxp = addr<int64 const?>(s.moe_idx[0])
83658365
let wvp = addr<float const?>(s.moe_w[0])
8366-
team_parallel_stages(s.chain_stages) <| @(stage : int; jb : int; je : int) {
8366+
team_parallel_stages(s.chain_stages) <| @(stage : int; jb : int; je : int) { // nolint:PERF026 — dispatch-API lambda capture, see attention_chain_decode
83678367
unsafe {
83688368
if (stage == 0) {
83698369
// gate+up rows of expert j, then bias -> act -> requant on exactly these rows

0 commit comments

Comments
 (0)