Repository navigation
[Doc] [AMD] cookbook: Align DeepSeek-V4 MI355X AgentX recipe with InferenceX #4315 - #45268
Open
chunfangamd wants to merge 1 commit into
Open
chunfangamd wants to merge 1 commit into
chunfangamd wants to merge 1 commit into
Conversation
…erenceX sgl-project#4315 Section 3.6 now covers every production server setting of the nine InferenceX sgl-project#4315 arms (head fd09dd949a18): - Name the image the submission pins, lmsysorg/sglang-rocm:v0.5.22-rocm720-mi35x-20261019, and link the submitted recipe. - Add SGLANG_DEFAULT_THINKING=1, SGLANG_DSV4_REASONING_EFFORT=high and HSA_NO_SCRATCH_RECLAIM=0 to all three commands, GPU_MAX_HW_QUEUES=2 to the TP8 command and GPU_MAX_HW_QUEUES=5 to the DP8 command. - Add the sizing rule: --max-running-requests at twice the concurrency, --cuda-graph-max-bs-decode at the same value capped at 128. - Add --dp-aware to the cache_aware router guidance. Co-authored-by: Cursor <cursoragent@cursor.com>
chunfangamd
requested review from
JustinTong0323,
sogalin,
wisclmy0611 and
zijiexia
as code owners
October 20, 2026 00:34
4 tasks done
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
InferenceX #4315 needs its MI355X AgentX serving configuration documented in the SGLang cookbook. #45070 aligned §3.6 with InferenceX #4245, whose recipe is byte-identical to #4315's; #4315 only moves the image from
-20261016to-20261019. Comparing every effective arm of the #4315 recipe with §3.6 still found server settings that §3.6 has never carried.Summary
lmsysorg/sglang-rocm:v0.5.22-rocm720-mi35x-20261019, and links the submitted recipe atfd09dd949a18.SGLANG_DEFAULT_THINKING=1,SGLANG_DSV4_REASONING_EFFORT=highandHSA_NO_SCRATCH_RECLAIM=0to all three commands,GPU_MAX_HW_QUEUES=2to the TP8 command andGPU_MAX_HW_QUEUES=5to the DP8 command. The MegaMoE command already setGPU_MAX_HW_QUEUES=5.--max-running-requestsat twice the concurrency,--cuda-graph-max-bs-decodeat the same value capped at 128.--dp-awareto thecache_awarerouter guidance. Without it the router registers one worker per server, so it cannot place a session on the DP rank that holds its prefix.Source of truth
fd09dd949a18ef2f3ff2912411d980b3f6b810a1(rechecked unchanged before opening this PR)ab580b2e060059c0f8387b598a9f648dcec13f93successatcb80a92c4a4c, with all nine agentic jobs (c1–c384) and both eval-only jobs (c48, c384)successon the-20261019image. The recipe file and thedsv4-fp4-mi355x-sglang-agentic-mtpentry are byte-identical betweencb80a92c4a4cand the head; the head's sweep (run 39329752188) reuses it via/reuse-sweep-run. I did not rerun any benchmark or eval.Coverage
Each row is one server configuration of the effective #4315 recipe (base merged with the point's override):
mainHSA_NO_SCRATCH_RECLAIM=0,GPU_MAX_HW_QUEUES=2, thinking defaultsHSA_NO_SCRATCH_RECLAIM=0,GPU_MAX_HW_QUEUES=5, thinking defaults, router--dp-awareHSA_NO_SCRATCH_RECLAIM=0, thinking defaults, router--dp-aware--balance-abs-threshold 32mainalready matched the rest, including every #4315 delta from #45070:SGLANG_HIP_DSV4_C4_INDEXER_ROWGROUP=1, DP chunked prefill 131072, FlyDSL MTPR 16384, decode MTPR 512 / fixed-slot cap 1023 (1024 / 2047 at c384),SGLANG_EPLB_P2P_BATCH_CHUNK_SIZE=7, and the MegaMoE interval of 40 (20 at c384).Recipe fields with no cookbook flag because SGLang
mainresolves them identically:--speculative-num-steps 1 --speculative-eagle-topk 1 --speculative-num-draft-tokens 7:_handle_dsparksets steps 1, top-k 1 and draft tokens to--speculative-dspark-block-size+ 1.--data-parallel-size 8 --enable-dp-attention:_handle_deprecated_dp_attentionresolves it to--attn-dp-size 8.--served-model-name: equals the--model-pathdefault.Benchmark-only controls such as synthetic acceptance and AIPerf orchestration were intentionally excluded:
AIPERF_*,CONC,KV_OFFLOADING,AGENTIC_WARMUP_GRACE_PERIOD.AIPERF_HTTP_X_SMG_ROUTING_KEY_FROM_CORRELATION_IDsetsX-SMG-Routing-Key, which only theconsistent_hashingandmanualrouter policies read, notcache_aware.SGLANG_TIMEOUT_KEEP_ALIVE=900: Uvicorn's idle keep-alive; the recipe sets it to outlast AIPerf's pooled connections.PYTHONNOUSERSITE=1: container hygiene.--enable-metrics: server metrics that AIPerf scrapes (AIPERF_REQUIRED_SERVER_METRIC_PREFIX).--request-id-headers x-correlation-id(AIPerf's tracing header),--connect-timeout-secs 900and--request-timeout-secs 14400(sized for the warmup drain),--disable-health-checkand--disable-retries(measurement integrity).Image:
lmsysorg/sglang-rocm:v0.5.22-rocm720-mi35x-20261019is active in the publiclmsysorg/sglang-rocmrepository (amd64 digestsha256:8cb29fc407c2e46bdb1866c5edb91f109ac1acbbcb6905089beaa6c79b0813a2, pushed 2026-10-19). Its image config shows a build from SGLangmainwith AITER2bb549102ba2and MORIf39fa765e897. It setsHSA_NO_SCRATCH_RECLAIM=1, which the recipe overrides, and does not setGPU_MAX_HW_QUEUES.Left unchanged: the Install example and
dockerImages.mi355x/mi300xstay on-20261016, because they serve Deploy-panel cells that #4315 did not rerun; §3.6 names-20261019itself. #45090 removes the retiredSGLANG_ENABLE_UNIFIED_RADIX_TREE=1lines from these commands, and the new variables sit at the end of each block so the two PRs touch separate lines.Validation
git diff --check: passnode docs/scripts/check_cookbook_configs.mjsandnode --test docs/scripts/tests/*.test.mjs: pass (38/38)mint broken-links --check-anchors --check-redirects(mint 4.2.559, the CI pin): passmint validate: fails onmainand on this branch with the same pre-existing error, the stray},at line 100 ofdocs/src/snippets/configs/popular-models.jsx(also noted in [Doc] cookbook: Refresh SemiAnalysis AgentX launches with twelve open InferenceX PRs #45111). With that line removed in a scratch copy that is not part of this PR, it passes.SKIP=no-commit-to-branch pre-commit run --files docs/cookbook/autoregressive/DeepSeek/DeepSeek-V4.mdx: pass (codespell, whitespace, end-of-file, merge-conflict, private-key).--all-fileswas not run locally.bash -non the four §3.6 command blocks: pass, with no duplicate variable or flag in any block.main, 0 on this branch.mint dev): pass. §3.6 renders, the four code blocks' rendered text is byte-identical to the source, and the page shows no client errors.Accuracy Tests
None. Documentation only.
Speed Tests and Profiling
None. No serving or benchmark runs were performed for this PR; the numbers live in the linked InferenceX run.
Scope
docs/cookbook/autoregressive/DeepSeek/DeepSeek-V4.mdx. No SGLang runtime code, config snippets, other hardware or other DeepSeek-V4 variants changed.CI States
Latest PR Test (Base): ✅ Run #39348424794
Latest PR Test (Extra): ❌ Run #39348424740
Latest PR Test (AMD ROCm 10): ➖ No AMD PR run found for this commit.