Engineering Deep Dive

GLM-5.2 on AMD GPUs: Solving 5 of 6 IMO 2026 Problems

How One Mount orchestrated model serving, protocol conversion, and a strict multi-role workflow to score 35/42 points on IMO 2026 with GLM-5.2 on AMD MI355X.

5/6
Problems Solved
35/42
Total Score
~90M
Tokens (P2)
MI355X
Hardware

Three engineering layers came together: kernel-level GPU fixes, a protocol-normalizing proxy, and a six-role solver pipeline built for long-horizon mathematical reasoning.

The International Mathematical Olympiad (IMO) is a six-problem benchmark of mathematical creativity and rigor. In July 2026, One Mount evaluated whether GLM-5.2 could sustain this level of reasoning when deployed on AMD MI355X hardware.

Final outcome: five problems solved at full marks (7/7). The sixth problem (P3) was not solved by GLM-5.2; its direct attempt scored 2/7. Combined score: 35/42.

1

Model Serving on AMD GPUs

GLM-5.2-FP8 hosted via SGLang on MI355X, with a critical kernel numerics fix contributed upstream to ROCm.

2

Harness & Proxy Layer

Nexus Composer: protocol conversion, reasoning stream normalization, and provider lifecycle management for Codex and Claude Desktop.

3

IMO Problem-Solving Workflow

A six-role solver algorithm with strict isolation, iterative correction, and five-consecutive-pass acceptance — orchestrated through desktop coding assistants.

01Model Serving on AMD GPUs

Running GLM-5.2-FP8 on MI355X required more than launching inference. A silent numerics issue in the underlying kernel path had to be identified and fixed.

GLM-5.2 and FP8 Deployment

GLM-5.2 is a sparse MoE model with DeepSeek Sparse Attention behavior and long-context reasoning characteristics. The deployed variant was zai-org/GLM-5.2-FP8, configured at tensor-parallel size 8 on a single MI355X node.

FP8 lowered memory cost significantly compared with BF16, allowing a practical single-node deployment for sustained long reasoning sessions.

SGLang launch profile (MI355X, FP8)

--dsa-prefill-backend tilelang
--dsa-decode-backend tilelang
--chunked-prefill-size 131072
--watchdog-timeout 1200
--reasoning-parser glm45
--tool-call-parser glm47
--attn-cp-size 8 --enable-prefill-cp --cp-strategy interleave
--enable-dsa-cache-layer-split

gfx950 Block-FP8 Accuracy Failure

On MI350X/MI355X (gfx950, ROCm 7.2), the team observed a silent correctness issue: short prompts seemed acceptable, but compositional reasoning degraded severely. Layer-wise error accumulation across 78 layers made mathematical tasks unstable.

Root cause was traced to illegal-type FMA behavior in the gemm_a8w8_blockscale_bpreshuffle path after an LLVM coercion pass removal in ROCm 7.2.

Upstream fix: ROCm PR #8639

The patch replaced packed illegal-type accumulation with scalar accumulator updates, added a determinism anchor, and introduced stronger bytewise and row-relative checks. Post-fix validation restored expected GSM8K behavior and long-context retrieval stability with negligible performance impact.

Complementary SGLang fix: PR #29275

A second issue was scale-layout contract mismatch in bpreshuffle paths. SGLang materialization changes ensured logical scale values were transformed correctly into physical layout at consumer boundaries.

Configuration GSM8K (200Q, 5-shot)
CK fix only (no scale materialization) 0/82 (aborted)
CK fix + scale materialization 192/200 (0.96)
bpreshuffle disabled fallback 184/200 (0.92)

02Harness Layer Enhancement

GLM-5.2 needed a durable protocol bridge to run reliably behind Codex and Claude Desktop during multi-hour solver sessions.

Nexus Composer as Control Plane

The team built Nexus Composer (forked from CC Switch, implemented with Tauri) to bridge: Anthropic Messages, OpenAI Responses, and OpenAI Chat Completions. It handles:

  • Protocol conversion — bidirectional translation across Anthropic and OpenAI surfaces for desktop agents.
  • Provider switching — fast switching between custom GLM endpoints and official providers.
  • Operational telemetry — duration, token usage, latency, costs, and request correlation IDs.
  • Config management — managed Claude and Codex local config and auth files from one control panel.

Reasoning Stream Normalization

The most difficult part was normalizing GLM-5.2 long reasoning streams. The proxy had to correctly handle reasoning-only chunks, legacy untyped deltas, and trailing empty tails after terminal chunks. Without this, sessions stalled under long-running workloads.

Over three days of iteration, stream finalization and buffering logic was hardened enough to keep hour-scale reasoning sessions stable across both desktop clients.

03IMO Problem-Solving Workflow

Desktop apps acted strictly as orchestrators. A background Python process performed direct model API calls to bypass desktop token-output limits.

Orchestrator + Direct API Pattern

The desktop layer launched and monitored a durable Python process. The process called GLM-5.2 directly with high token ceilings ( max_tokens=256000 ) and large reasoning budgets, avoiding SDK response limits.

Every problem ran in strict isolation with no access to prior runs, no internet research, and no external mathematical source material.

Six-role algorithm

1

Solve

Single solver pass with strict proof-format instructions (summary + detailed proof).

2

Self-Improve

Second in-context pass to tighten rigor and repair local reasoning gaps.

3

Verify

Fresh stateless verifier grades candidate, classifying failures as critical or gaps.

4

Classify

Independent yes/no judgment. Only a standalone "yes" is considered a pass.

5

Correct

Stateless correction call based only on problem, candidate, and verifier report.

6

Re-verify

Repeat verification/classification until acceptance criteria are met.

Acceptance criteria

Five consecutive independent "yes" classifications for the same unchanged candidate. Run limits: 30 correction iterations per outer run, 10 consecutive errors, 10 outer runs.

Integrity and Provenance

Verifier and classifier contexts remained isolated from target outcomes. The orchestrator did not inject mathematical hints. Artifacts were checksummed (SHA-256), and P6 transcripts were audited for internet activity with zero web access events.

04Results

Five of six problems were solved at full marks. P3 was partially solved (2/7) without a complete rigorous proof.

Problem Domain Score Harness Key Result
P1 Number Theory 7/7 Codex Desktop Monovariant termination + invariant uniqueness via p-adic valuation structure.
P2 Geometry 7/7 Codex Desktop Coordinate proof with explicit polynomial witnesses and symbolic identity checks.
P3 Combinatorics 2/7 Direct Endpoint Correct formula identified; no complete proof in either direction.
P4 Game Theory 7/7 Claude Desktop Complete characterization of winning angles and strategy converse.
P5 Functional Equation 7/7 Direct Endpoint Classification to affine family via transformation and connectedness argument.
P6 Sequences 7/7 Direct Endpoint Finite minimal-elements argument leading to periodicity with linear shift.
Total 35/42 5 of 6 problems at full marks

Notable run dynamics

P2 required nine outer runs and roughly 90M tokens before acceptance. Early failures included stream disconnections and output-overflow conditions. P6 completed in a single outer run with roughly 48 minutes of reasoning and ~107K output tokens.

Problem-by-problem highlights

P1 — Number Theory (7/7, clean)

Clean first run, zero corrections, with monovariant/invariant argument accepted immediately.

P2 — Geometry (7/7, after epic struggle)

Hardest case: nine outer runs and extended correction cycles. Accepted proof included explicit symbolic witness identities.

P3 — Combinatorics (2/7, not solved)

Correct closed form was found but no full rigorous proof, so the problem remains unsolved for this model run.

P4 — Game Theory (7/7, after prompt fix)

Prompt discipline fixes prevented output-overflow and produced a concise accepted final proof.

P5 — Functional Equation (7/7, direct API)

Direct API path bypassed desktop output caps. One correction cycle was enough to reach final acceptance.

P6 — Sequences (7/7, closed-book verified)

Closed-book run, no internet access events, accepted first outer run with periodicity argument grounded in finite minimal elements.

Grading methodology

Grading was performed independently to IMO standards (0-7 per problem), with adversarial review, parent-agent audit, and SHA-256 artifact integrity checks to separate workflow acceptance from mathematical scoring.

05What This Means

This outcome was not only a model-quality result. It was a systems result across three layers: numerics correctness, transport reliability, and workflow rigor.

Without kernel-level fixes, long-chain reasoning quality collapsed. Without stream normalization, sessions failed under duration pressure. Without verification discipline, proofs could not be trusted.

P3 remains the boundary case: the model found a plausible final expression but did not produce the full proof required for IMO-grade acceptance. That boundary is exactly where future capability and engineering work should concentrate.