From e7060afdbaffd60b7c7db984d3bd7c00d87be027 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 12:22:58 +0000 Subject: [PATCH 1/3] perf(amd): update DSv4-Pro FP4 MI355X ATOM AgentX image to nightly_202610261558 Co-Authored-By: Claude Opus 5.5 --- .../srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml | 2 +- inferencex-e2e/configs/amd-master.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml b/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml index 528ba57e6c..1ca8158ebb 100644 --- a/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml +++ b/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml @@ -6,7 +6,7 @@ base: gpus_per_node: 8 frontend: type: atomesh - container_image: rocm/atom-dev@sha256:ef65fed021823c29d37c636101e6242b7b97b970f5e3f5e8badd672f73935d61 + container_image: rocm/atom-dev@sha256:57477e7a4b5156fcc7b21bab082eba98577752465f58479ac2ead8514f882a61 enable_multiple_frontends: false observability: enabled: false diff --git a/inferencex-e2e/configs/amd-master.yaml b/inferencex-e2e/configs/amd-master.yaml index d75eb9218e..c020943e86 100644 --- a/inferencex-e2e/configs/amd-master.yaml +++ b/inferencex-e2e/configs/amd-master.yaml @@ -1016,7 +1016,7 @@ dsv4-fp4-mi355x-vllm-agentic-mtp: # 1019 GB budget of dram-utilization 0.34. Every point runs ATOM's bounded # state replay with prompt-end state checkpoints only. dsv4-fp4-mi355x-atom-agentic-mtp: - image: rocm/atom-dev:nightly_202610141644 + image: rocm/atom-dev:nightly_202610261558@sha256:57477e7a4b5156fcc7b21bab082eba98577752465f58479ac2ead8514f882a61 model: deepseek-ai/DeepSeek-V4-Pro-0813 model-prefix: dsv4 runner: cluster:mi355x-amds From 09dc0997edf2159ffbb78fe74eb776c6c67543b7 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 13:36:59 +0000 Subject: [PATCH 2/3] fix(amd): disable EPLB on DSv4-Pro FP4 MI355X ATOM DEP points The first EPLB rebalance hangs the DEP8 server on rocm/atom-dev:nightly_202610261558 (ROCm/ATOM#2725 routing rewrite). Co-Authored-By: Claude Opus 5.5 --- .../dsv4/atom/mi355x-fp4-mtp/agentic.yaml | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml b/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml index 1ca8158ebb..bf281d5e5b 100644 --- a/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml +++ b/inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv4/atom/mi355x-fp4-mtp/agentic.yaml @@ -55,7 +55,8 @@ base: # One variant per point. KV is FP8 at every point. DEP pins sessions to one # DP-attention rank so later turns reach their prefix KV, and captures every -# small per-rank decode batch. +# small per-rank decode batch. EPLB stays off: its first rebalance hangs the +# DEP8 server under ATOM's routing rewrite (ROCm/ATOM#2725). override_tp8_c1: roles: agg: @@ -118,8 +119,6 @@ override_tp8_c48_dep: dp-load-balance: least_tokens moe-backend: mega cudagraph-capture-sizes: '[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,32,48,64,128]' - enable-eplb: true - eplb-config: '{"load_window_size":100,"rebalance_interval":200}' env: ATOM_DP_SESSION_AFFINITY: '1' ATOM_DP_LB_REQ_EQUIV: '512' @@ -129,7 +128,6 @@ override_tp8_c48_dep: ATOM_MEGA_MASK_PAD_ROWS: '1' ATOM_MEGA_DECODE_MTPR: '256' AITER_MEGA_FIXED_SLOT_MAX_MTPR: '511' - ATOM_EPLB_MAX_REBALANCES: '1' benchmark: env: CONC: '48' @@ -175,8 +173,6 @@ override_tp8_c96_dep: dp-load-balance: least_tokens moe-backend: mega cudagraph-capture-sizes: '[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,32,48,64,128,256,512]' - enable-eplb: true - eplb-config: '{"load_window_size":100,"rebalance_interval":200}' env: ATOM_DP_SESSION_AFFINITY: '1' ATOM_DP_LB_REQ_EQUIV: '512' @@ -186,7 +182,6 @@ override_tp8_c96_dep: ATOM_MEGA_MASK_PAD_ROWS: '1' ATOM_MEGA_DECODE_MTPR: '512' AITER_MEGA_FIXED_SLOT_MAX_MTPR: '1023' - ATOM_EPLB_MAX_REBALANCES: '1' benchmark: env: CONC: '96' @@ -205,8 +200,6 @@ override_tp8_c128_dep: dp-load-balance: least_tokens moe-backend: mega cudagraph-capture-sizes: '[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,32,48,64,128]' - enable-eplb: true - eplb-config: '{"load_window_size":100,"rebalance_interval":200}' env: ATOM_DP_SESSION_AFFINITY: '1' ATOM_DP_LB_REQ_EQUIV: '512' @@ -216,7 +209,6 @@ override_tp8_c128_dep: ATOM_MEGA_MASK_PAD_ROWS: '1' ATOM_MEGA_DECODE_MTPR: '512' AITER_MEGA_FIXED_SLOT_MAX_MTPR: '1023' - ATOM_EPLB_MAX_REBALANCES: '2' benchmark: env: CONC: '128' @@ -258,8 +250,6 @@ override_tp8_c256_dep_lmcache: dp-load-balance: least_tokens moe-backend: mega cudagraph-capture-sizes: '[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,32,48,64,128]' - enable-eplb: true - eplb-config: '{"load_window_size":100,"rebalance_interval":200}' env: ATOM_DP_SESSION_AFFINITY: '1' ATOM_DP_LB_REQ_EQUIV: '512' @@ -269,7 +259,6 @@ override_tp8_c256_dep_lmcache: ATOM_MEGA_MASK_PAD_ROWS: '1' ATOM_MEGA_DECODE_MTPR: '512' AITER_MEGA_FIXED_SLOT_MAX_MTPR: '1023' - ATOM_EPLB_MAX_REBALANCES: '4' ATOM_KV_OFFLOAD: lmcache_mp # Braces doubled: srtctl expands {node}/{node_id} in env values with str.format_map. ATOM_KV_OFFLOAD_EXTRA_CONFIG: '{{"lmcache.mp.host": "tcp://127.0.0.1", "lmcache.mp.port": 8750, "lmcache.mp.tp_rank_collapse": true}}' @@ -317,8 +306,6 @@ override_tp8_c384_dep_lmcache: dp-load-balance: least_tokens moe-backend: mega cudagraph-capture-sizes: '[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,32,48,64,72,80,88,96,104,112,120,128]' - enable-eplb: true - eplb-config: '{"load_window_size":100,"rebalance_interval":200}' env: ATOM_DP_SESSION_AFFINITY: '1' ATOM_DP_LB_REQ_EQUIV: '512' @@ -328,7 +315,6 @@ override_tp8_c384_dep_lmcache: ATOM_MEGA_MASK_PAD_ROWS: '1' ATOM_MEGA_DECODE_MTPR: '1024' AITER_MEGA_FIXED_SLOT_MAX_MTPR: '2047' - ATOM_EPLB_MAX_REBALANCES: '5' ATOM_KV_OFFLOAD: lmcache_mp # Braces doubled: srtctl expands {node}/{node_id} in env values with str.format_map. ATOM_KV_OFFLOAD_EXTRA_CONFIG: '{{"lmcache.mp.host": "tcp://127.0.0.1", "lmcache.mp.port": 8750, "lmcache.mp.tp_rank_collapse": true}}' From 591909cd8a8c0289ee8df83a38ceb9c94f3cdf6d Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Wed, 28 Oct 2026 03:06:48 +0000 Subject: [PATCH 3/3] perf-changelog: add DSv4-Pro FP4 MI355X ATOM AgentX image update entry Co-Authored-By: Claude Opus 5.5 --- inferencex-e2e/perf-changelog.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/inferencex-e2e/perf-changelog.yaml b/inferencex-e2e/perf-changelog.yaml index b4cbda3afc..d57bd9e821 100644 --- a/inferencex-e2e/perf-changelog.yaml +++ b/inferencex-e2e/perf-changelog.yaml @@ -11480,3 +11480,11 @@ - "Update the Muse Spark Open B300 curve to lmsysorg/sglang:nightly-dev-20261021-c1c287a4 and set SGLANG_FLASHINFER_NVFP4_PER_TOKEN_ACTIVATION=0 at every concurrency; run TP8/EP8 at concurrency 1, 4, 8, 10, 14, 16, 20, 24 and TP4/EP4 HiCache at concurrency 16, 28, 32, 40, 44, 48." - "Use shortest-prefill-first at TP8 concurrency 10-24, stream interval 20 at TP8 concurrency 4, 20, 24 and TP4 concurrency 28-48, SGLANG_TRTLLM_MHA_DECODE_SEQ_LEN_SPLITS=4 at TP4 concurrency 40-48, and at concurrency 44 and 48 request admission 24 and 26 with FCFS, no prefill-decode interval, HiCache write_back and SWA/full ratio 0.1." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4417 + +- config-keys: + - dsv4-fp4-mi355x-atom-agentic-mtp + scenario-type: + - agentic-coding + description: + - "Update the ATOM image from nightly_202610141644 to nightly_202610261558 and disable EPLB on the DEP points." + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/4577