Skip to content

Commit 49ec410

Browse files
committed
Merge origin/main into refactor/remove-benchmark-lib
Ports #3646 (AIPerf harness v1.0.6): the agentx scenario now owns the replay flags it locks, so replay_argv and REPLAY_ENV drop them. Drops the multi-node sweep's CLIENT_BACKEND, BENCHMARK_SERVED_MODEL_NAME and NUM_PROMPTS overrides, whose only recipes #3638 retired.
2 parents 05b1e0a + e6dfa2b commit 49ec410

41 files changed

Lines changed: 317 additions & 529 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.claude/commands/add-model-hardware.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ Validate as you go: `python3 -c "import yaml; yaml.safe_load(open('<recipe>'))"`
120120

121121
Append `<model>-<precision>-<sku>[-<engine>][-mtp]` after the sibling, with the correct
122122
`image`, `model`, `model-prefix`, `runner`, `precision`, `framework`. The **search space** is
123-
`{tp, ep, dp-attn} × concurrency` per supported scenario from `inferencex-e2e/docs/MODELS.md` (8k1k or AgentX as applicable; 1k1k is only retained for GLM-5.1 B200 TileRT):
123+
`{tp, ep, dp-attn} × concurrency` per supported scenario from `inferencex-e2e/docs/MODELS.md` (8k1k or AgentX as applicable; 1k1k is retired for all models):
124124
- Mirror a sibling's parallelism layouts. Trim concurrency ranges to what the SKU's memory
125125
supports (small-mem SKUs → TP8-only, drop tp2/tp4 and DEP).
126126
- Latency (TP-only) rows should start at conc 1. TEP/DEP rows start higher (they only pay off

‎.github/workflows/claude.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ jobs:
149149
**IMPORTANT: Keep runs precise and efficient:**
150150
- Use `full-sweep` with filter flags to narrow down the benchmark scope - "full-sweep" does NOT mean running everything
151151
- When using `full-sweep`, you must use `--min-conc` and `--max-conc` together to specify a single concurrency value. Unless prompted otherwise, use `--min-conc 4 --max-conc 4`
152-
- For fixed-sequence runs, use `--seq-lens 8k1k`. Use `1k1k` only for the explicitly retained GLM-5.1 B200 TileRT config. Consult `inferencex-e2e/docs/MODELS.md` for model-specific scenario eligibility.
152+
- For fixed-sequence runs, use `--seq-lens 8k1k`; 1k1k is retired for all models. Consult `inferencex-e2e/docs/MODELS.md` for model-specific scenario eligibility.
153153
- Use `test-config` ONLY when given specific config keys to test - Use `--config-files`, `--config-keys`, and `--conc` flags ONLY
154154
- Always filter by specific models, frameworks, precision, conc, or config keys when possible
155155
@@ -566,6 +566,6 @@ jobs:
566566
567567
**Deprecation validation:**
568568
- Reject new active entries for retired models, scenarios, or precisions unless `inferencex-e2e/docs/MODELS.md` explicitly documents an exception.
569-
- Preserve the GLM-5.1 B200 TileRT exception and the conditional non-speculative AgentX policy; do not infer retirement from the existence of a speculative counterpart.
569+
- Preserve the conditional non-speculative AgentX policy; do not infer retirement from the existence of a speculative counterpart.
570570
- Retired entries are deleted from the master configs, not archived, following `AGENTS.md`; git history and `inferencex-e2e/perf-changelog.yaml` are the historical record.
571571
- For a newly supported model, require matching updates to `inferencex-e2e/docs/MODELS.md` and `inferencex-e2e/docs/MODELS_zh.md` rather than rejecting it against an obsolete model list.

‎.github/workflows/stage-results.yml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ jobs:
1717
name: Authorize and dispatch staging
1818
if: >-
1919
github.event.issue.pull_request &&
20-
startsWith(github.event.comment.body, '/stage-results')
20+
(startsWith(github.event.comment.body, '/stage-results') ||
21+
startsWith(github.event.comment.body, '/use'))
2122
runs-on: ubuntu-latest
2223
permissions:
2324
actions: read # Validate the source workflow run and its artifacts
@@ -56,6 +57,7 @@ jobs:
5657
run: uv run --project "$INFERENCEX_PYTHON_PROJECT" --locked python -m infx.workflows.stage_results
5758

5859
- name: Acknowledge staging request
60+
if: steps.request.outputs.run-id != ''
5961
id: acknowledge
6062
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
6163
env:
@@ -75,6 +77,7 @@ jobs:
7577
core.setOutput('comment-id', String(comment.data.id));
7678
7779
- name: Dispatch InferenceX-app staging workflow
80+
if: steps.request.outputs.run-id != ''
7881
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
7982
env:
8083
RUN_ID: ${{ steps.request.outputs.run-id }}

‎AGENTS.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ Deleting a test that fails these questions needs no replacement. Do not preserve
123123

124124
- Every priority-scheduled benchmark job on a self-hosted cluster must request exactly one `nodes:N` label, where `N` is the positive integer number of physical Slurm nodes required. Single-node jobs use `nodes:1`; generated multi-node jobs must forward their computed `node-count`. A queued job missing this label is ineligible for priority scheduling, and labels cannot be added retroactively, so fix the source branch and dispatch a new run.
125125
- Every change that can affect benchmark performance and every recipe addition or modification requires a new `inferencex-e2e/perf-changelog.yaml` entry. The file is append-only and byte-sensitive. Preserve all existing bytes and separator whitespace, and append only at the tail.
126+
- New `inferencex-e2e/perf-changelog.yaml` entries must be English-only. Do not add Chinese translations or bilingual descriptions; the bilingual documentation and GitHub-content rules do not apply to these entries. Leave historical entries unchanged.
126127
- Multi-node srt-slurm changes update the recipe YAML and matching master config together. For image bumps, `model.container` must equal `image`.
127128
- Every speculative fixed-sequence benchmark renders prompts with the chat template: single-node srt-slurm recipes that speculate set `benchmark.env.USE_CHAT_TEMPLATE: "true"` (enforced by `inferencex-e2e/infx/srt_slurm/single_node.py::validate_recipe`), which `python3 -m infx.bench fixed-seq` (run by `srt_fixed_sequence.sh`) turns into `--use-chat-template` for the benchmark client.
128129
- Benchmarks create no new directories under `/workspace`. Root containers must not leave root-owned files in shared AMD runner workspaces.

‎inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/configs/tilert-b200-setup.sh‎

Lines changed: 0 additions & 29 deletions
This file was deleted.

‎inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/glm5.1/tilert/b200-fp8/1k1k/disagg-1p1d-tp8-mtp.yaml‎

Lines changed: 0 additions & 86 deletions
This file was deleted.

‎inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/glm5.1/tilert/b200-fp8/8k1k/disagg-1p1d-tp8-mtp.yaml‎

Lines changed: 0 additions & 96 deletions
This file was deleted.

0 commit comments

Comments
 (0)