Skip to content

[AMD] [GLM5] Mark EAGLE verified on MI300X/MI325X (gfx942) in GLM-5.1 cookbook - #29313

Merged
sogalin merged 3 commits into
sgl-project:mainfrom
Raiden-Makoto:RM/glm51-eagle-gfx942
Jun 26, 2026
Merged

sogalin merged 3 commits into
sgl-project:mainfrom
Raiden-Makoto:RM/glm51-eagle-gfx942

Conversation

@Raiden-Makoto

@Raiden-Makoto Raiden-Makoto commented Jun 25, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

Follow-up to #29194, which enabled EAGLE for gfx950 (MI355X) in the GLM-5.1
cookbook but left gfx942 (MI300X/MI325X) marked "unverified" — both in the
prose and in the deploy generator, which excluded the EAGLE flags for those
GPUs. EAGLE speculative decoding has since been verified on gfx942.

Modifications

  • GLM-5.1.mdx: AMD note now states EAGLE is supported on all AMD GPUs
    (MI300X/MI325X (gfx942) and MI355X (gfx950)). Added the EAGLE flags to the
    static AMD FP8 and BF16 server-command blocks.
  • glm-51-deployment.jsx: the deploy generator now emits the EAGLE flags on
    MI300X/MI325X as well (removed the gfx942 exclusion).

Important: EAGLE on AMD requires --disable-custom-all-reduce

EAGLE on AMD GPUs must be run with --disable-custom-all-reduce. The aiter
custom all-reduce kernel (aiter::cross_device_reduce_2stage) deadlocks during
the EAGLE target-verify step at high concurrency (reproduced hanging at c>=16
for the (4,1,5) config and c>=32 for (3,1,4) on gfx950/MI355X). The GPU kernel
busy-waits forever on cross-device signal flags and the server hangs with no
recovery. Disabling the custom all-reduce falls back to RCCL, which resolves the
hang with negligible performance impact. This was diagnosed via py-spy + rocgdb,
correlating stuck host-to-device copies with the spinning all-reduce kernel.

Accordingly:

  • GLM-5.1.mdx: the AMD GPU note now documents that EAGLE requires
    --disable-custom-all-reduce or the server will hang at high concurrency, and
    the flag was added to all three AMD EAGLE server-command blocks (MXFP4 / FP8 / BF16).
  • glm-51-deployment.jsx: the deploy generator now emits
    --disable-custom-all-reduce whenever AMD hardware is selected with EAGLE.

Checklist

  • Format with pre-commit
  • Documentation builds (Mintlify)

CI States

Latest PR Test (Base): ✅ Run #28208347566
Latest PR Test (Extra): ❌ Run #28208347497

…-5.1

Follow-up to sgl-project#29194. EAGLE speculative decoding is now verified on gfx942
(MI300X/MI325X), not just gfx950: update the AMD note, emit the EAGLE flags
for MI300X/MI325X in the deploy generator, and add the flags to the static
AMD FP8/BF16 command blocks.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jun 25, 2026
@Raiden-Makoto
Raiden-Makoto marked this pull request as ready for review June 25, 2026 16:29
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

- **H100 and H200**: FP8 is the recommended deployment path.
- **B300 and GB300**: NVFP4 is the recommended deployment path. Use `nvidia/GLM-5.1-NVFP4` with `--quantization modelopt_fp4`. Use `tp=8` on B300 and `tp=4` on GB300. The CUDA 13 image variant is required for B300 and GB300.
- **AMD GPUs**: BF16 and FP8 checkpoints run on MI300X/MI325X/MI355X at tp=8. On MI355X (gfx950), the MXFP4 checkpoint `amd/GLM-5.1-MXFP4` is also supported at tp=4 with `--kv-cache-dtype fp8_e4m3`. All AMD paths pass `--dsa-prefill-backend tilelang --dsa-decode-backend tilelang`, `--chunked-prefill-size 131072`, and `--watchdog-timeout 1200` (20 minutes for weight loading). FP8 uses approximately half the memory of BF16 (~89 GB/GPU vs ~175 GB/GPU). EAGLE speculative decoding is supported on MI355X (gfx950) and unverified on MI300X/MI325X (gfx942).
- **AMD GPUs**: BF16 and FP8 checkpoints run on MI300X/MI325X/MI355X at tp=8. On MI355X (gfx950), the MXFP4 checkpoint `amd/GLM-5.1-MXFP4` is also supported at tp=4 with `--kv-cache-dtype fp8_e4m3`. All AMD paths pass `--dsa-prefill-backend tilelang --dsa-decode-backend tilelang`, `--chunked-prefill-size 131072`, and `--watchdog-timeout 1200` (20 minutes for weight loading). FP8 uses approximately half the memory of BF16 (~89 GB/GPU vs ~175 GB/GPU). EAGLE speculative decoding is supported on all AMD GPUs: MI300X/MI325X (gfx942) and MI355X (gfx950).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all AMD GPUs: --> AMD GPUs:

@Raiden-Makoto Raiden-Makoto Jun 25, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Address HaiShaw review: "all AMD GPUs:" -> "AMD GPUs:".
The aiter custom all-reduce kernel deadlocks during EAGLE target-verify
at high concurrency on AMD GPUs (gfx942/gfx950), hanging the server.
Add the flag to all AMD EAGLE server commands, emit it from the
interactive deployment generator for AMD hardware, and document the
requirement in the AMD GPU notes.
@sogalin
sogalin merged commit 7f37664 into sgl-project:main Jun 26, 2026
79 of 83 checks passed
@Raiden-Makoto
Raiden-Makoto deleted the RM/glm51-eagle-gfx942 branch July 7, 2026 19:06
Chronostasys pushed a commit to MindLab-Research/sglang that referenced this pull request Aug 24, 2026
… cookbook (sgl-project#29313)

Co-authored-by: Raiden-Makoto <Raiden-Makoto@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants