From c6bd0be80926e0ea47fd45a75bd6e8a29736c779 Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Wed, 28 Oct 2026 06:15:29 +0000 Subject: [PATCH 1/4] perf(amd): update DSV4 image and enable C1 decode mono kernel --- .../sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml | 1 + inferencex-e2e/configs/amd-master.yaml | 2 +- inferencex-e2e/perf-changelog.yaml | 9 +++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml index 724f16d9c2..05406b1fd8 100644 --- a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml +++ b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml @@ -233,6 +233,7 @@ override_c1: - 8 speculative-dspark-block-size: 6 speculative-num-draft-tokens: 7 + enable-amd-monokernel: true override_c16: roles: diff --git a/inferencex-e2e/configs/amd-master.yaml b/inferencex-e2e/configs/amd-master.yaml index ed18bec2d6..8e2df8602d 100644 --- a/inferencex-e2e/configs/amd-master.yaml +++ b/inferencex-e2e/configs/amd-master.yaml @@ -1197,7 +1197,7 @@ dsv41flash-fp4-mi325x-vllm-agentic-dspark: - { tp: 2, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32], srt-recipe: agentic.yaml } dsv4-fp4-mi355x-sglang-disagg-agentic-umbp-dspark: - image: lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261026 + image: lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028 model: deepseek-ai/DeepSeek-V4-Pro-0813 model-prefix: dsv4 runner: cluster:mi355x-amds diff --git a/inferencex-e2e/perf-changelog.yaml b/inferencex-e2e/perf-changelog.yaml index 907bd21213..a868c135f4 100644 --- a/inferencex-e2e/perf-changelog.yaml +++ b/inferencex-e2e/perf-changelog.yaml @@ -11489,3 +11489,12 @@ - "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image from lmsysorg/sglang-rocm:v0.5.22-rocm720-mi35x-20261019 to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261026, the latest published MI35x ROCm 10 nightly (digest sha256:edabad83728ab04e3eae39f315eb16261eeb64dbdb051112bd22fc88560b60c4)." - "Preserve all eight concurrency points (1, 16, 32, 48, 192, 256, 384, 512), prefill/decode topology, DSpark settings, UMBP offload, MoRI transfer, and benchmark client image. The workload binder supplies the serving image to every selected recipe variant." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4571 + +- config-keys: + - dsv4-fp4-mi355x-sglang-disagg-agentic-umbp-dspark + scenario-type: + - agentic-coding + description: + - "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028 and enable the AMD mono kernel on decode only at concurrency 1." + - "The 1028 nightly tag is provisional: the early build does not include sgl-project/sglang#46951 (sgl-amd-mono MoRI PD decode support). Rebuild and validate the image before using this recipe. Keep all topology, DSpark, offload, other concurrency settings, and the benchmark client image unchanged." + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX From f6455397c936499106347e7f47d36517bf89deb8 Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Wed, 28 Oct 2026 06:17:31 +0000 Subject: [PATCH 2/4] perf(amd): align C1 decode TP8 with the mono experiment --- .../dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml | 4 ++-- inferencex-e2e/configs/amd-master.yaml | 2 +- inferencex-e2e/perf-changelog.yaml | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml index 05406b1fd8..5a5ea7ebb8 100644 --- a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml +++ b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/dsv4/sglang/mi355x-fp4/agentx/disagg-umbp-dspark.yaml @@ -213,13 +213,13 @@ override_c1: speculative-dspark-block-size: 6 speculative-num-draft-tokens: 7 decode: - gpus: 4 + gpus: 8 env: SGLANG_MLA_HCA_KV_SPLITS: "8" MORI_MAX_DISPATCH_TOKENS_DECODE: "448" SGLANG_DSV4_UNIFIED_KV_FP8: "1" args: - tp-size: 4 + tp-size: 8 mem-fraction-static: 0.86 max-running-requests: 8 cuda-graph-bs-decode: diff --git a/inferencex-e2e/configs/amd-master.yaml b/inferencex-e2e/configs/amd-master.yaml index 8e2df8602d..cc04bd66d6 100644 --- a/inferencex-e2e/configs/amd-master.yaml +++ b/inferencex-e2e/configs/amd-master.yaml @@ -1223,7 +1223,7 @@ dsv4-fp4-mi355x-sglang-disagg-agentic-umbp-dspark: dp-attn: false decode: num-worker: 1 - tp: 4 + tp: 8 ep: 1 dp-attn: false - spec-decoding: "draft_model" diff --git a/inferencex-e2e/perf-changelog.yaml b/inferencex-e2e/perf-changelog.yaml index a868c135f4..4915429c9d 100644 --- a/inferencex-e2e/perf-changelog.yaml +++ b/inferencex-e2e/perf-changelog.yaml @@ -11495,6 +11495,6 @@ scenario-type: - agentic-coding description: - - "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028 and enable the AMD mono kernel on decode only at concurrency 1." - - "The 1028 nightly tag is provisional: the early build does not include sgl-project/sglang#46951 (sgl-amd-mono MoRI PD decode support). Rebuild and validate the image before using this recipe. Keep all topology, DSpark, offload, other concurrency settings, and the benchmark client image unchanged." - pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX + - "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028 and use P-TP4 / D-TP8 with the AMD mono kernel on decode only at concurrency 1." + - "The 1028 nightly tag is provisional: the early build does not include sgl-project/sglang#46951 (sgl-amd-mono MoRI PD decode support). Rebuild and validate the image before using this recipe. Preserve DSpark, offload, all other concurrency settings, and the benchmark client image." + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4602 From 0cb89d95b0ff70e1ff104a8c3a1e10408e28a2ff Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Wed, 28 Oct 2026 06:28:27 +0000 Subject: [PATCH 3/4] docs: describe final DSV4 C1 configuration --- inferencex-e2e/perf-changelog.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inferencex-e2e/perf-changelog.yaml b/inferencex-e2e/perf-changelog.yaml index 4915429c9d..d7754731b6 100644 --- a/inferencex-e2e/perf-changelog.yaml +++ b/inferencex-e2e/perf-changelog.yaml @@ -11496,5 +11496,5 @@ - agentic-coding description: - "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028 and use P-TP4 / D-TP8 with the AMD mono kernel on decode only at concurrency 1." - - "The 1028 nightly tag is provisional: the early build does not include sgl-project/sglang#46951 (sgl-amd-mono MoRI PD decode support). Rebuild and validate the image before using this recipe. Preserve DSpark, offload, all other concurrency settings, and the benchmark client image." + - "Preserve DSpark, offload, all other concurrency settings, and the benchmark client image." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4602 From f0a97e6c5dfde70de50bbc9618e741a2a0e16733 Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Wed, 28 Oct 2026 09:31:42 +0000 Subject: [PATCH 4/4] fix(amd): pin DSV4 nightly image digest --- inferencex-e2e/configs/amd-master.yaml | 2 +- inferencex-e2e/perf-changelog.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inferencex-e2e/configs/amd-master.yaml b/inferencex-e2e/configs/amd-master.yaml index cc04bd66d6..fead14c9f4 100644 --- a/inferencex-e2e/configs/amd-master.yaml +++ b/inferencex-e2e/configs/amd-master.yaml @@ -1197,7 +1197,7 @@ dsv41flash-fp4-mi325x-vllm-agentic-dspark: - { tp: 2, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32], srt-recipe: agentic.yaml } dsv4-fp4-mi355x-sglang-disagg-agentic-umbp-dspark: - image: lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028 + image: lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028@sha256:44202f87c180a28a6b7570f56dfb37a2c0e90dbec901b16381b87a9d582b1f27 model: deepseek-ai/DeepSeek-V4-Pro-0813 model-prefix: dsv4 runner: cluster:mi355x-amds diff --git a/inferencex-e2e/perf-changelog.yaml b/inferencex-e2e/perf-changelog.yaml index d7754731b6..2d85be34dd 100644 --- a/inferencex-e2e/perf-changelog.yaml +++ b/inferencex-e2e/perf-changelog.yaml @@ -11495,6 +11495,6 @@ scenario-type: - agentic-coding description: - - "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028 and use P-TP4 / D-TP8 with the AMD mono kernel on decode only at concurrency 1." + - "Update the MI355X DeepSeek-V4-Pro-0813 SGLang MoRI disaggregated AgentX serving image to lmsysorg/sglang-rocm:v0.5.22-rocm10-mi35x-20261028@sha256:44202f87c180a28a6b7570f56dfb37a2c0e90dbec901b16381b87a9d582b1f27 and use P-TP4 / D-TP8 with the AMD mono kernel on decode only at concurrency 1." - "Preserve DSpark, offload, all other concurrency settings, and the benchmark client image." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4602