Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions benchmarks/single_node/agentic/dsv4_fp4_mi355x_vllm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ EOF

wait_for_lmcache_ready() {
{ set +x; } 2>/dev/null
local attempts="${LMCACHE_READY_ATTEMPTS:-120}"
local attempts="${LMCACHE_READY_ATTEMPTS:-900}"
local tail_pid=""

while [ ! -f "$LMCACHE_LOG" ]; do
Expand Down Expand Up @@ -276,8 +276,7 @@ EOF

git clone https://github.com/LMCache/LMCache.git
cd LMCache
# https://github.com/LMCache/LMCache/pull/3853
git checkout 9229067cec0b3a63bb8a39368d101db7ac0bc3c1
git checkout v0.5.1
pip install -r requirements/build.txt
pip install grpcio==1.78.0
CXX=hipcc BUILD_WITH_HIP=1 pip install -e . --no-build-isolation
Expand Down Expand Up @@ -317,6 +316,8 @@ EOF
LMCACHE_TX_MODE="lmcache_driven"

echo "Starting LMCache MP server..."
# TEMP DEBUG: remove before merging
df -h /dev/shm
LMCACHE_CMD=(
lmcache server
--host "$LMCACHE_HOST"
Expand All @@ -330,6 +331,8 @@ EOF
--max-workers "$LMCACHE_MAX_WORKERS"
--eviction-policy LRU
--supported-transfer-mode "$LMCACHE_TX_MODE"
--no-separate-object-group
--no-l1-use-lazy
)
printf '%q ' "${LMCACHE_CMD[@]}" > "$RESULT_DIR/lmcache_command.txt"
printf '\n' >> "$RESULT_DIR/lmcache_command.txt"
Expand Down
2 changes: 1 addition & 1 deletion configs/amd-master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2199,7 +2199,7 @@ qwen3.5-fp8-mi355x-sglang-agentic-hicache:
# DP-attention on/off and EP=8.

dsv4-fp4-mi355x-vllm-agentic:
image: vllm/vllm-openai-rocm:nightly-09663abde0f50944a8d5ea30120666024b503faa
image: vllm/vllm-openai-rocm:v0.25.1
model: deepseek-ai/DeepSeek-V4-Pro
model-prefix: dsv4
runner: cluster:mi355x-amds
Expand Down
9 changes: 9 additions & 0 deletions perf-changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4918,3 +4918,12 @@
- "Image: vllm/vllm-openai:nightly-dev-x86_64-cu13.0.1-904e4ec"
- "B300: GPU-resident TP4/TP8 at conc [1,2,4,6,8,12,16,20,24,28,32] and DEP8 at conc [32,64,96,128,160,192,196,224,228] (max-num-batched-tokens 16384, long-prefill-token-threshold 4096, gpu-memory-utilization 0.92); TP4 SimpleCPU lazy-offload at conc [28,32,36,40]; DEP4 at conc [8,16,24,32,40,48,56,64,72] with both SimpleCPU and Mooncake 0.3.11.post1."
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2241

- config-keys:
- dsv4-fp4-mi355x-vllm-agentic
description:
- "Bump LMCache source build from pinned commit 9229067 to the v0.5.1 release tag (CXX=hipcc BUILD_WITH_HIP=1)"
- "Add --no-separate-object-group and --no-l1-use-lazy to the LMCache MP server launch command"
- "Bump default LMCACHE_READY_ATTEMPTS from 120 to 900 (eager L1 pool allocation takes longer to become healthy)"
- "Bump image from vllm/vllm-openai-rocm:nightly-09663abde0f50944a8d5ea30120666024b503faa (rotated off Docker Hub retention, 404s) to the stable vllm/vllm-openai-rocm:v0.25.1 release tag"
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2216
4 changes: 4 additions & 0 deletions utils/matrix_logic/generate_sweep_configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -733,6 +733,7 @@ def generate_full_sweep(args, all_config_data, runner_data):
),
Fields.DISAGG.value: disagg,
Fields.SCENARIO_TYPE.value: "agentic-coding",
Fields.RUN_EVAL.value: False,
}
if kv_offload_backend is not None:
entry[Fields.KV_OFFLOAD_BACKEND.value] = kv_offload_backend
Expand Down Expand Up @@ -766,6 +767,7 @@ def generate_full_sweep(args, all_config_data, runner_data):
+ (f"_spec-{spec_decoding}" if spec_decoding != "none" else "")
),
Fields.SCENARIO_TYPE.value: "agentic-coding",
Fields.RUN_EVAL.value: False,
}
if kv_offload_backend is not None:
entry[Fields.KV_OFFLOAD_BACKEND.value] = kv_offload_backend
Expand Down Expand Up @@ -1033,6 +1035,7 @@ def generate_test_config_sweep(args, all_config_data, runner_data=None):
),
Fields.DISAGG.value: disagg,
Fields.SCENARIO_TYPE.value: "agentic-coding",
Fields.RUN_EVAL.value: False,
}
if kv_offload_backend is not None:
entry[Fields.KV_OFFLOAD_BACKEND.value] = kv_offload_backend
Expand Down Expand Up @@ -1065,6 +1068,7 @@ def generate_test_config_sweep(args, all_config_data, runner_data=None):
+ (f"_spec-{spec_decoding}" if spec_decoding != "none" else "")
),
Fields.SCENARIO_TYPE.value: "agentic-coding",
Fields.RUN_EVAL.value: False,
}
if kv_offload_backend is not None:
entry[Fields.KV_OFFLOAD_BACKEND.value] = kv_offload_backend
Expand Down
10 changes: 8 additions & 2 deletions utils/matrix_logic/validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,8 @@ class SingleNodeAgenticMatrixEntry(BaseModel):
duration: int = Field(alias=Fields.DURATION.value)
exp_name: str = Field(alias=Fields.EXP_NAME.value)
scenario_type: str = Field(alias=Fields.SCENARIO_TYPE.value)
run_eval: bool = Field(alias=Fields.RUN_EVAL.value)
eval_only: bool = Field(alias=Fields.EVAL_ONLY.value, default=False)

@model_validator(mode='after')
def validate_kv_offload_fields(self):
Expand Down Expand Up @@ -329,6 +331,8 @@ class MultiNodeAgenticMatrixEntry(BaseModel):
exp_name: str = Field(alias=Fields.EXP_NAME.value)
disagg: bool
scenario_type: str = Field(alias=Fields.SCENARIO_TYPE.value)
run_eval: bool = Field(alias=Fields.RUN_EVAL.value)
eval_only: bool = Field(alias=Fields.EVAL_ONLY.value, default=False)

@model_validator(mode='after')
def validate_worker_hardware_pair(self):
Expand Down Expand Up @@ -889,8 +893,10 @@ class ChangelogMatrixEntry(BaseModel):
] = Field(default_factory=dict)
multi_node: dict[str, list[Union[MultiNodeMatrixEntry, MultiNodeAgenticMatrixEntry]]
] = Field(default_factory=dict)
evals: list[SingleNodeMatrixEntry] = Field(default_factory=list)
multinode_evals: list[MultiNodeMatrixEntry] = Field(default_factory=list)
evals: list[Union[SingleNodeMatrixEntry, SingleNodeAgenticMatrixEntry]
] = Field(default_factory=list)
multinode_evals: list[Union[MultiNodeMatrixEntry, MultiNodeAgenticMatrixEntry]
] = Field(default_factory=list)
changelog_metadata: ChangelogMetadata


Expand Down
Loading