Skip to content

RC4.1: faster prose and code decode, bit-exact with RC2; long GLM tool calls fixed - #46

Merged
data-angel merged 5 commits into
mainfrom
release/rc4
Oct 12, 2026
Merged

data-angel merged 5 commits into
mainfrom
release/rc4

Conversation

@data-angel

@data-angel data-angel commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

RC4.1 hotfix (current pin). The engine is Enntity/atlas sparkglm/atlas-20261012-rc4.1-layered @ 301479a2 (tree ac5a080b). The image is ghcr.io/enntity/atlas-sparkglm:cfb463a952b5 (sha256:0ddea7cdb372e4407db63dc4f2b5b1a08b4576b8223ded6a4fca3463439ccfb2), install tree cfb463a952b517b87baf302b5b3b279a115c5626. It is staged on both pair hosts and not yet deployed.

  • The bug. The envelope-stuck guard (MAX_TOOL_BODY_TOKENS = 1024) recognized parameter values only by Qwen's <parameter=…> token ids. Every GLM tool call longer than about 1,024 tokens therefore ended with finish_reason "length" and no tool call. The bug has been present since before RC2.

  • The fix (ade7b012 on fix/glm-tool-value-markers, on top of upstream/glm53-flash 0b515eec): the engine resolves GLM's single-token <arg_value> / </arg_value> at startup and tracks value bodies by them. Sampling is unchanged.

  • Layering. The seven SparkGLM-only layer commits are re-applied on top of the fix. The first of them (661a26a0) now declares the KV-shard flag its native bridge reads, which upstream 7e13c1bb removed.

  • Against RC4's measured tree (5c523903 / ae5e79f8), the pin adds exactly two things, and neither touches the decode path:

    • the fix, which is spark-server only;
    • the four CI-only upstream commits listed below.

    The speed and exactness receipts in results/2026-10-12-rc4/ were measured on RC4. RESULT.md has an RC4.1 section. Live gate results will be added after the deploy.

  • Profiles are unchanged from RC4.


RC4 moves the engine to Enntity/atlas sparkglm/atlas-20261012-rc4-layered @ 5c523903. That is the upstream candidate upstream/glm53-flash-20261012-rc4 @ ad047638 plus the unchanged SparkGLM-only layer. Its tree ae5e79f8 is identical to exp/prose-rc4 @ c6089633, the build measured on the pair.

The image is ghcr.io/enntity/atlas-sparkglm:846ee9e1e501 (sha256:88461891963193b8e2abf0cb1cd603bf31fd9e3a8e1422074d10dd46f886485f). The install tree is 846ee9e1e501eaf7afb71211aa2473d9610b2344. It is deployed on the pair through LLooM.

Install. All three profiles add ten engine switches and one profile switch:

  • ATLAS_RDMA_ONESHOT_SM_STAGE=1
  • ATLAS_GLM_MOE_ROUTE_FUSE=1
  • ATLAS_GLM_DENSE_TP_SPLIT=1
  • ATLAS_GLM_KDA_COMMIT_CTAS=96
  • ATLAS_GLM_DRAFT_TP_TOPK=1
  • ATLAS_DFLASH_ASYNC_UPLOADS=1
  • ATLAS_GLM_MLA_FUSE=1
  • ATLAS_GLM_MXFP8_TILED=1
  • ATLAS_DFLASH2_EDGE=0.6
  • ATLAS_DFLASH_CONV_TWIN=nvfp4
  • ATLAS_DFLASH_CONF_PROBE=256 (the profile switch)

With SPARKGLM_KV_SHARD=1, the 4x1m environment equals the tested dev profile exactly. Only 4x1m was measured. install/atlas-source.json pins 5c523903 and records the layers.

Results (results/2026-10-12-rc4/; raw receipts with SHA256SUMS). All results are bit-exact with RC2:

C1 decode RC4 RC2
Prose, 12 prompts × 256 tokens 45.57 tok/s 42.82
Strict prose bursts, 8 × 384 tokens 47.9 44.8
Code, 12 prompts × 256 tokens 64.91 61.38

Exactness evidence:

  • the logprob hash 246cd1331b41 is unchanged;
  • 524/524 probe outputs are byte-identical to RC2's;
  • C4 output equals C1;
  • the four-session 204K fill on the deployed recipe scored 12/12.

README numbers changed:

  • The single-stream decode row is now 45.6 / 64.9 tok/s (it was 42.9 / 61.7). Its reference cell is now RC2's 42.8 / 61.4, and the TensorFold clause in that cell is gone.
  • A link to this release's receipts was added.
  • No other rows were re-run.
  • The README graphic and cards belong to the README/card agent and were not regenerated. Several other rows still carry the existing competitor references.

Later upstream fixes, not in this release. The upstream branch upstream/glm53-flash-20261012-rc4 (and upstream/glm53-flash, fast-forwarded to it) now carries four CI-only fix commits on top of ad047638. None of them changes GB10 runtime behavior. The only runtime-source edit removes a variable nothing reads on that branch. They are:

  • 7e13c1bb drops the unused sharded flag in paged_glm.rs. Only the SparkGLM layer reads it, so the next re-layer must declare it inside the layer commit.
  • bc9d0de4 replaces the mxfp8_tile16 intra-doc link with plain code.
  • a6f35bf7 mirrors the DF2_SEL_EDGE twin into the strix-hip selector copy.
  • 0b515eec applies rustfmt to canonical_verify_gpu_tests.rs.

RC4 pinned the tested tree at 5c523903. RC4.1 (above) builds on upstream/glm53-flash with these four commits included.

After merge: in LLooM atlas-sparkglm-rc4 (Enntity/lloom#64), replace the SparkGLM revision 35dc1b41c92351d09d47af64e69b44b3393e2334 (and its short form 35dc1b41) with the merge commit. It appears in the pin, recipe, docs and test files that tools/lloom_pin_rc41.py rewrites. The tree, tag and digest stay the same.

🤖 Generated with Claude Code

data-angel and others added 4 commits October 12, 2026 00:09
…ed MoE route and MLA front, dense TP split, selector top-k, MXFP8 tiles, DFlash2 edge 0.6 and NVFP4 conv twins

The pinned tree (ae5e79f8) equals exp/prose-rc4 c6089633, the candidate measured
on the pair. All three profiles gain the eleven switches it was measured with.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…/ 61.4), bit-exact with RC2

results/2026-10-12-rc4: 12-prompt C1 decode, strict prose bursts, logprob hash
246cd1331b41, 524/524 outputs identical to RC2, C4 == C1, and the four-session
204K fill (12/12) from the LLooM deployment. README: this release's receipts
link and the single-stream decode row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…x, quality)

RigMark decode 72.3 / 38.3 / 91.7 tok/s (RC2 65.5 / 36.5 / 88.8), short-code
2-stream aggregate 60.5 (55.2), matrix 132.1 s (136.3), field guide 49.5 / 76.3 s
(49.9 / 77.3); prefill and staggered TTFT unchanged. README rows updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…han 1024 tokens are no longer cut

The envelope-stuck guard recognized parameter values only by Qwen's
<parameter=...> ids, so long GLM tool calls ended with finish_reason length
and no call. Upstream fix ade7b012 on upstream/glm53-flash 0b515eec, layer
re-applied (301479a2, tree ac5a080b). Profiles unchanged; RC4's speed
receipts stand (decode path unchanged). RESULT.md gains an RC4.1 section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@data-angel data-angel changed the title RC4: faster prose and code decode, bit-exact with RC2 RC4.1: faster prose and code decode, bit-exact with RC2; long GLM tool calls fixed Oct 12, 2026
…gMark Quality before/after

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@data-angel
data-angel merged commit 401a5c2 into main Oct 12, 2026
1 check passed
data-angel added a commit to Enntity/lloom that referenced this pull request Oct 12, 2026
…t 401a5c27

Enntity/sparkglm#46 merged as 401a5c27; its install tree is unchanged
(cfb463a952b5), so the image, tag and digest stay the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant