From 00277ceaa7ced729180d5f697878f12082af7a12 Mon Sep 17 00:00:00 2001 From: Honglie Yi Date: Wed, 19 Aug 2026 04:22:25 +0000 Subject: [PATCH 01/13] feat: add DeepSeek V4 ATOM AgentX MTP recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the MI355X TP8 AgentX sweep for DeepSeek-V4-Pro on ATOM with the validated FP8 cache, prefix-caching, checkpointing, and three-token MTP settings. Use golden synthetic acceptance for throughput and real MTP acceptance for evaluation. 新增 DeepSeek-V4-Pro 在 MI355X TP8 ATOM 上的 AgentX sweep,采用已验证的 FP8 缓存、前缀缓存、状态检查点和三 token MTP 配置。吞吐测试使用 golden synthetic acceptance,评测使用真实 MTP acceptance。 --- .../agentic/dsv4_fp4_mi355x_atom_mtp.sh | 131 ++++++++++++++++++ configs/amd-master.yaml | 16 +++ perf-changelog.yaml | 10 ++ 3 files changed, 157 insertions(+) create mode 100755 benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh diff --git a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh new file mode 100755 index 0000000000..cbf4bc253f --- /dev/null +++ b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh @@ -0,0 +1,131 @@ +#!/usr/bin/env bash +set -euo pipefail +set -x + +# Agentic trace replay benchmark for DeepSeek-V4-Pro FP4 on MI355X using +# ATOM MTP. Throughput runs use the committed golden synthetic acceptance; +# eval-only runs use the model's real MTP acceptance. + +source "$(dirname "$0")/../../benchmark_lib.sh" + +check_env_vars MODEL TP CONC KV_OFFLOADING TOTAL_CPU_DRAM_GB RESULT_DIR DURATION EP_SIZE DP_ATTENTION + +if [[ -n "${SLURM_JOB_ID:-}" ]]; then + echo "JOB $SLURM_JOB_ID running on ${SLURMD_NODENAME:-unknown}" +fi + +if [ "$TP" -ne 8 ] || [ "$EP_SIZE" -ne 1 ] || [ "$DP_ATTENTION" != "false" ]; then + echo "This recipe requires TP=8, EP_SIZE=1, and DP_ATTENTION=false" >&2 + exit 1 +fi +require_agentic_kv_offload_none + +if [[ -n "${ROCR_VISIBLE_DEVICES:-}" ]]; then + export HIP_VISIBLE_DEVICES="$ROCR_VISIBLE_DEVICES" +fi + +if [[ -n "${MODEL_PATH:-}" ]]; then + if [[ ! -d "$MODEL_PATH" || -z "$(ls -A "$MODEL_PATH" 2>/dev/null)" ]]; then + hf download "$MODEL" --local-dir "$MODEL_PATH" + fi +else + hf download "$MODEL" + export MODEL_PATH="$MODEL" +fi + +rocm-smi || true +amd-smi || true + +resolve_trace_source +install_agentic_deps + +# ATOM runtime settings validated with the DeepSeek-V4-Pro AgentX baseline. +export AITER_BF16_FP8_MOE_BOUND=0 +export AITER_LOG_LEVEL=WARNING +export ATOM_MOE_GU_ITLV=1 +export ATOM_DISABLE_MMAP=true +export ATOM_DEBUG_PREFIX_HITS=1 +export ATOM_PROFILER_MORE=0 +export ATOM_PROFILER_TIMEOUT=1200 + +# AgentX/AIPerf network, failure, warmup, and trace-gap settings from the +# validated one-hour baseline. +export AIPERF_HTTP_TCP_USER_TIMEOUT=900000 +export AIPERF_FAILED_REQUEST_THRESHOLD=0.10 +export AIPERF_LIVE_FAILED_REQUEST_THRESHOLD=0.10 +export AIPERF_TRACE_IDLE_GAP_CAP_SECONDS=300 +export AIPERF_WARMUP_REQUESTS_PER_LANE=10 +export AIPERF_BENCHMARK_GRACE_PERIOD=30 + +# Require ATOM Prometheus metrics in every official result. +export AIPERF_SERVER_METRICS_URLS="http://localhost:${PORT}/metrics" +export AIPERF_REQUIRED_SERVER_METRIC_PREFIX="atom:" + +wait_for_amd_gpu_clean + +SERVER_LOG="$RESULT_DIR/server.log" +mkdir -p "$RESULT_DIR" + +SERVER_PID="" +cleanup_atom_server() { + local exit_code=$? + trap - EXIT INT TERM + set +e + stop_background_process_tree "$SERVER_PID" "ATOM server" 60 + exit "$exit_code" +} +trap cleanup_atom_server EXIT +trap 'exit 130' INT +trap 'exit 143' TERM + +# AgentX concurrency counts session trees. Keep 2x scheduler headroom for the +# request bursts produced by subagent fan-out. +MAX_NUM_SEQS=$((2 * CONC)) + +# golden_al_distribution/dsv4_mtp.yaml: thinking_on, 3 draft tokens -> AL 2.49 +# acceptance rate = (2.49 - 1) / 3 = 0.4966666667. +NUM_SPEC_TOKENS=3 +SPEC_ACCEPTANCE_RATE=0.4966666667 +SPEC_ARGS=( + --method mtp + --num-speculative-tokens "$NUM_SPEC_TOKENS" +) +if [ "${EVAL_ONLY:-false}" != "true" ]; then + SPEC_ARGS+=(--spec-decode-acceptance-rate "$SPEC_ACCEPTANCE_RATE") +fi + +echo "Starting ATOM server with MAX_NUM_SEQS=$MAX_NUM_SEQS NUM_SPEC_TOKENS=$NUM_SPEC_TOKENS SPEC_ACCEPTANCE_RATE=$SPEC_ACCEPTANCE_RATE EVAL_ONLY=${EVAL_ONLY:-false}" +ATOM_CMD=( + python3 -u -m atom.entrypoints.openai_server + --model "$MODEL_PATH" + --served-model-name "$MODEL" + --host 0.0.0.0 + --server-port "$PORT" + --tensor-parallel-size "$TP" + --kv-cache-dtype fp8 + --index-cache-dtype fp8 + --enable-prefix-caching + --gpu-memory-utilization 0.9 + --max-num-batched-tokens 16384 + --attn-prefill-chunk-size 16384 + --state-checkpoint-interval-tokens 32768 + --level 3 + --cudagraph-mode FULL + "${SPEC_ARGS[@]}" + --max-num-seqs "$MAX_NUM_SEQS" +) +write_command "$RESULT_DIR/server_command.txt" "${ATOM_CMD[@]}" +"${ATOM_CMD[@]}" > "$SERVER_LOG" 2>&1 & +SERVER_PID=$! +echo "Server PID: $SERVER_PID" + +wait_for_server_ready --port "$PORT" --server-log "$SERVER_LOG" --server-pid "$SERVER_PID" + +if [ "${EVAL_ONLY:-false}" = "true" ]; then + run_eval --port "$PORT" +else + # AgentX DSv4 traces already carry fully formed chat payloads; do not apply + # AIPerf's generic chat template on top of them. + build_replay_cmd "$RESULT_DIR" + run_agentic_replay_and_write_outputs "$RESULT_DIR" +fi diff --git a/configs/amd-master.yaml b/configs/amd-master.yaml index cf5cdfeb6d..0c48bd0197 100644 --- a/configs/amd-master.yaml +++ b/configs/amd-master.yaml @@ -1284,6 +1284,22 @@ dsv4-fp4-mi355x-vllm-agentic-mtp: # while MTP creates two. Restore these points after the upstream hybrid # KV recovery fix lands: https://github.com/vllm-project/vllm/pull/45497 +# DeepSeek-V4-Pro FP4 AgentX on one MI355X node using ATOM MTP. Throughput +# uses the thinking_on golden AL 2.49 for three draft tokens; eval uses real +# MTP acceptance. max-num-seqs is set to 2x concurrency by the recipe. +dsv4-fp4-mi355x-atom-agentic-mtp: + image: rocm/atom-dev:nightly_202608181633 + model: deepseek-ai/DeepSeek-V4-Pro + model-prefix: dsv4 + runner: cluster:mi355x-amds + precision: fp4 + framework: atom + multinode: false + scenarios: + agentic-coding: + - search-space: + - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } + dsr1-fp4-mi355x-sglang-disagg-mtp: image: lmsysorg/sglang-rocm:v0.5.12-rocm720-mi35x-20260519 model: amd/DeepSeek-R1-0528-MXFP4-v2 diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 6b0d955301..291151844a 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -6171,3 +6171,13 @@ - "Use AITER INT4 quick-reduce, ptpc_fp8 online quantization excluding embeddings, lm_head, gates, and experts, an FP8 KV cache, and three-token MTP with golden synthetic acceptance length 2.99 for benchmark runs." - "Set max-num-seqs to twice the concurrency, select CUDA graph capture sizes by concurrency, and cap max-num-batched-tokens at 16384." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2576 + +- config-keys: + - dsv4-fp4-mi355x-atom-agentic-mtp + scenario-type: + - agentic-coding + description: + - "Add DeepSeek-V4-Pro FP4 ATOM MTP AgentX on one 8x MI355X node at concurrency 1, 2, 4, 8, 16, 32, and 48, with no KV offload and max-num-seqs set to twice concurrency." + - "Use rocm/atom-dev:nightly_202608181633 (digest sha256:fdc5650f2b6d13c22f1f1b3873ee6dc61278e6b0b90dc24d0f6c55810895032f), FP8 KV/index caches, prefix caching, 32K state checkpoints, 16K batching/prefill chunks, and FULL cudagraph mode." + - "Use three-token MTP with the committed DeepSeek-V4 thinking-mode golden AL 2.49 (synthetic acceptance rate 0.4966666667) for throughput, while eval-only runs measure real MTP acceptance." + pr-link: TBD From 89cac1dffa02c10b5f2536da2008109a269bd575 Mon Sep 17 00:00:00 2001 From: Honglie Yi Date: Wed, 19 Aug 2026 04:24:23 +0000 Subject: [PATCH 02/13] chore: link DeepSeek V4 ATOM AgentX changelog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backfill the performance changelog with the submitted InferenceX pull request URL. 在性能变更日志中回填已提交的 InferenceX PR 链接。 --- perf-changelog.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 291151844a..48d7dc64f8 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -6180,4 +6180,4 @@ - "Add DeepSeek-V4-Pro FP4 ATOM MTP AgentX on one 8x MI355X node at concurrency 1, 2, 4, 8, 16, 32, and 48, with no KV offload and max-num-seqs set to twice concurrency." - "Use rocm/atom-dev:nightly_202608181633 (digest sha256:fdc5650f2b6d13c22f1f1b3873ee6dc61278e6b0b90dc24d0f6c55810895032f), FP8 KV/index caches, prefix caching, 32K state checkpoints, 16K batching/prefill chunks, and FULL cudagraph mode." - "Use three-token MTP with the committed DeepSeek-V4 thinking-mode golden AL 2.49 (synthetic acceptance rate 0.4966666667) for throughput, while eval-only runs measure real MTP acceptance." - pr-link: TBD + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2668 From 9c755e6d1ace0a199be70b77e132930c610ebc2f Mon Sep 17 00:00:00 2001 From: Honglie Yi Date: Wed, 19 Aug 2026 10:07:25 +0000 Subject: [PATCH 03/13] fix(agentx): extend ATOM saturation warmup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a 3600-second warmup grace period for the ATOM C32 and C48 saturation arms while keeping C1 through C16 at the shared 1800-second default.\n\n中文:将 ATOM C32 和 C48 饱和并发点的 warmup grace period 调整为 3600 秒,C1 至 C16 继续使用共享的 1800 秒默认值。 --- .../single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh | 6 ++++++ perf-changelog.yaml | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh index cbf4bc253f..6d1197362c 100755 --- a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh +++ b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh @@ -82,6 +82,12 @@ trap 'exit 143' TERM # request bursts produced by subagent fan-out. MAX_NUM_SEQS=$((2 * CONC)) +# Saturation arms carry a larger in-flight working set than the 30-minute +# default warmup drain allows. +if [ "$CONC" -ge 32 ]; then + export AGENTIC_WARMUP_GRACE_PERIOD=3600 +fi + # golden_al_distribution/dsv4_mtp.yaml: thinking_on, 3 draft tokens -> AL 2.49 # acceptance rate = (2.49 - 1) / 3 = 0.4966666667. NUM_SPEC_TOKENS=3 diff --git a/perf-changelog.yaml b/perf-changelog.yaml index d0aadc8983..6331366bd0 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -6205,3 +6205,12 @@ - "Use rocm/atom-dev:nightly_202608181633 (digest sha256:fdc5650f2b6d13c22f1f1b3873ee6dc61278e6b0b90dc24d0f6c55810895032f), FP8 KV/index caches, prefix caching, 32K state checkpoints, 16K batching/prefill chunks, and FULL cudagraph mode." - "Use three-token MTP with the committed DeepSeek-V4 thinking-mode golden AL 2.49 (synthetic acceptance rate 0.4966666667) for throughput, while eval-only runs measure real MTP acceptance." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2668 + +- config-keys: + - dsv4-fp4-mi355x-atom-agentic-mtp + scenario-type: + - agentic-coding + description: + - "Increase the AgentX warmup grace period from the 1800-second default to 3600 seconds at concurrency 32 and 48, matching the DeepSeek-V4-Pro SGLang saturation recipe so in-flight warmup requests can drain and reused long prefixes are fully primed before profiling." + - "Keep concurrency 1 through 16 at the default 1800 seconds; the profiling duration remains 3600 seconds for every concurrency arm." + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2668 From ee37e1804f1c1ff711cac78141f932b1f98f372a Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Wed, 19 Aug 2026 20:02:52 +0900 Subject: [PATCH 04/13] Update dsv4_fp4_mi355x_atom_mtp.sh --- benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh index 6d1197362c..f8169be4e4 100755 --- a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh +++ b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh @@ -112,9 +112,9 @@ ATOM_CMD=( --index-cache-dtype fp8 --enable-prefix-caching --gpu-memory-utilization 0.9 - --max-num-batched-tokens 16384 - --attn-prefill-chunk-size 16384 - --state-checkpoint-interval-tokens 32768 + --max-num-batched-tokens 8192 + --attn-prefill-chunk-size 8192 + --state-checkpoint-interval-tokens 8192 --level 3 --cudagraph-mode FULL "${SPEC_ARGS[@]}" From 097b9ae5424efcffd7dff1f10dad998aa67a6f08 Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Wed, 19 Aug 2026 20:03:38 +0900 Subject: [PATCH 05/13] Update amd-master.yaml --- configs/amd-master.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/amd-master.yaml b/configs/amd-master.yaml index 0c48bd0197..8e5db0957a 100644 --- a/configs/amd-master.yaml +++ b/configs/amd-master.yaml @@ -1298,7 +1298,8 @@ dsv4-fp4-mi355x-atom-agentic-mtp: scenarios: agentic-coding: - search-space: - - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } + #- { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } + - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [48] } dsr1-fp4-mi355x-sglang-disagg-mtp: image: lmsysorg/sglang-rocm:v0.5.12-rocm720-mi35x-20260519 From 9ff0a4304797a7ef5761f831245133e238b5442a Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Wed, 19 Aug 2026 20:10:37 +0900 Subject: [PATCH 06/13] Update perf-changelog.yaml --- perf-changelog.yaml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 6331366bd0..1281c43911 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -6204,13 +6204,6 @@ - "Add DeepSeek-V4-Pro FP4 ATOM MTP AgentX on one 8x MI355X node at concurrency 1, 2, 4, 8, 16, 32, and 48, with no KV offload and max-num-seqs set to twice concurrency." - "Use rocm/atom-dev:nightly_202608181633 (digest sha256:fdc5650f2b6d13c22f1f1b3873ee6dc61278e6b0b90dc24d0f6c55810895032f), FP8 KV/index caches, prefix caching, 32K state checkpoints, 16K batching/prefill chunks, and FULL cudagraph mode." - "Use three-token MTP with the committed DeepSeek-V4 thinking-mode golden AL 2.49 (synthetic acceptance rate 0.4966666667) for throughput, while eval-only runs measure real MTP acceptance." - pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2668 - -- config-keys: - - dsv4-fp4-mi355x-atom-agentic-mtp - scenario-type: - - agentic-coding - description: - "Increase the AgentX warmup grace period from the 1800-second default to 3600 seconds at concurrency 32 and 48, matching the DeepSeek-V4-Pro SGLang saturation recipe so in-flight warmup requests can drain and reused long prefixes are fully primed before profiling." - "Keep concurrency 1 through 16 at the default 1800 seconds; the profiling duration remains 3600 seconds for every concurrency arm." pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2668 From b09f6caaf46bd74a3e7f63ac2821a6c7d786a27d Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Wed, 19 Aug 2026 21:43:11 +0900 Subject: [PATCH 07/13] Update dsv4_fp4_mi355x_atom_mtp.sh --- benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh index f8169be4e4..6d1197362c 100755 --- a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh +++ b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh @@ -112,9 +112,9 @@ ATOM_CMD=( --index-cache-dtype fp8 --enable-prefix-caching --gpu-memory-utilization 0.9 - --max-num-batched-tokens 8192 - --attn-prefill-chunk-size 8192 - --state-checkpoint-interval-tokens 8192 + --max-num-batched-tokens 16384 + --attn-prefill-chunk-size 16384 + --state-checkpoint-interval-tokens 32768 --level 3 --cudagraph-mode FULL "${SPEC_ARGS[@]}" From 0f467e11df32642eab60a495736374edd628aa63 Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Wed, 19 Aug 2026 21:43:46 +0900 Subject: [PATCH 08/13] Update amd-master.yaml --- configs/amd-master.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configs/amd-master.yaml b/configs/amd-master.yaml index 8e5db0957a..0c48bd0197 100644 --- a/configs/amd-master.yaml +++ b/configs/amd-master.yaml @@ -1298,8 +1298,7 @@ dsv4-fp4-mi355x-atom-agentic-mtp: scenarios: agentic-coding: - search-space: - #- { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } - - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [48] } + - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } dsr1-fp4-mi355x-sglang-disagg-mtp: image: lmsysorg/sglang-rocm:v0.5.12-rocm720-mi35x-20260519 From 013df3dbed341f1385a51294bcd41a1ca9e226da Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Thu, 20 Aug 2026 09:48:37 +0900 Subject: [PATCH 09/13] Update amd-master.yaml --- configs/amd-master.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/amd-master.yaml b/configs/amd-master.yaml index 0c48bd0197..8e5db0957a 100644 --- a/configs/amd-master.yaml +++ b/configs/amd-master.yaml @@ -1298,7 +1298,8 @@ dsv4-fp4-mi355x-atom-agentic-mtp: scenarios: agentic-coding: - search-space: - - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } + #- { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } + - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [48] } dsr1-fp4-mi355x-sglang-disagg-mtp: image: lmsysorg/sglang-rocm:v0.5.12-rocm720-mi35x-20260519 From 486becce06c8391c0edab8e1280e682c07e50610 Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Thu, 20 Aug 2026 09:49:14 +0900 Subject: [PATCH 10/13] Update dsv4_fp4_mi355x_atom_mtp.sh --- .../single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh index 6d1197362c..29adf7950c 100755 --- a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh +++ b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh @@ -82,12 +82,6 @@ trap 'exit 143' TERM # request bursts produced by subagent fan-out. MAX_NUM_SEQS=$((2 * CONC)) -# Saturation arms carry a larger in-flight working set than the 30-minute -# default warmup drain allows. -if [ "$CONC" -ge 32 ]; then - export AGENTIC_WARMUP_GRACE_PERIOD=3600 -fi - # golden_al_distribution/dsv4_mtp.yaml: thinking_on, 3 draft tokens -> AL 2.49 # acceptance rate = (2.49 - 1) / 3 = 0.4966666667. NUM_SPEC_TOKENS=3 @@ -114,7 +108,7 @@ ATOM_CMD=( --gpu-memory-utilization 0.9 --max-num-batched-tokens 16384 --attn-prefill-chunk-size 16384 - --state-checkpoint-interval-tokens 32768 + --state-checkpoint-interval-tokens 8192 --level 3 --cudagraph-mode FULL "${SPEC_ARGS[@]}" From 9b32a5443a1ec06567a5fab21a40db310ff03262 Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Thu, 20 Aug 2026 12:19:32 +0900 Subject: [PATCH 11/13] Update amd-master.yaml --- configs/amd-master.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configs/amd-master.yaml b/configs/amd-master.yaml index 8e5db0957a..0c48bd0197 100644 --- a/configs/amd-master.yaml +++ b/configs/amd-master.yaml @@ -1298,8 +1298,7 @@ dsv4-fp4-mi355x-atom-agentic-mtp: scenarios: agentic-coding: - search-space: - #- { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } - - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [48] } + - { tp: 8, ep: 1, dp-attn: false, kv-offloading: none, spec-decoding: mtp, conc-list: [1, 2, 4, 8, 16, 32, 48] } dsr1-fp4-mi355x-sglang-disagg-mtp: image: lmsysorg/sglang-rocm:v0.5.12-rocm720-mi35x-20260519 From a93da29ea2f21958064a5dcfd83ae5ccc1508f62 Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:14:45 +0900 Subject: [PATCH 12/13] Update dsv4_fp4_mi355x_atom_mtp.sh --- benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh index 29adf7950c..825778f836 100755 --- a/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh +++ b/benchmarks/single_node/agentic/dsv4_fp4_mi355x_atom_mtp.sh @@ -103,7 +103,7 @@ ATOM_CMD=( --server-port "$PORT" --tensor-parallel-size "$TP" --kv-cache-dtype fp8 - --index-cache-dtype fp8 + --index-cache-dtype fp4 --enable-prefix-caching --gpu-memory-utilization 0.9 --max-num-batched-tokens 16384 From 109dafc5f3a05b86e3b1bd6486cdc26070f6d644 Mon Sep 17 00:00:00 2001 From: seungrokj <144636725+seungrokj@users.noreply.github.com> Date: Thu, 20 Aug 2026 19:59:42 +0900 Subject: [PATCH 13/13] Update amd-master.yaml --- configs/amd-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/amd-master.yaml b/configs/amd-master.yaml index 0bc948d5d6..10604c32bd 100644 --- a/configs/amd-master.yaml +++ b/configs/amd-master.yaml @@ -1288,7 +1288,7 @@ dsv4-fp4-mi355x-vllm-agentic-mtp: # uses the thinking_on golden AL 2.49 for three draft tokens; eval uses real # MTP acceptance. max-num-seqs is set to 2x concurrency by the recipe. dsv4-fp4-mi355x-atom-agentic-mtp: - image: rocm/atom-dev:nightly_202608181633 + image: rocm/atom-dev:nightly_202608201032 model: deepseek-ai/DeepSeek-V4-Pro model-prefix: dsv4 runner: cluster:mi355x-amds