Skip to content

Commit 61e6b59

Browse files
Delete utils/matrix_logic/generate_sweep_configs.py; use infx.matrix.generate
Workflows (e2e-tests, profile), OperatorX's test-list enumerator, tests and docs run python -m infx.matrix.generate. Historical append-only planning still runs a base revision's own generator: -m infx.matrix.generate from the snapshot root when the revision has the module, else its legacy utils/matrix_logic script (older revisions). The now-empty utils/matrix_logic directory (pytest.ini only) is removed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 3672c40 commit 61e6b59

26 files changed

Lines changed: 82 additions & 90 deletions

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ new entry is **required** for CI to run your config.
147147
python3 -c "import yaml; yaml.safe_load(open('benchmarks/single_node/srt-slurm-recipes/<recipe>'))"
148148
python3 -c "import yaml; yaml.safe_load(open('configs/<nvidia|amd>-master.yaml')); yaml.safe_load(open('perf-changelog.yaml'))"
149149
uv run --no-project --exclude-newer PT12H --python 3.12 --with pydantic --with pyyaml \
150-
utils/matrix_logic/generate_sweep_configs.py test-config \
150+
python -m infx.matrix.generate test-config \
151151
--config-files configs/<nvidia|amd>-master.yaml --config-keys <key>
152152
```
153153
Sanity-check the generated matrix: expected layouts/concurrencies, `max-model-len` = scenario

‎.github/AGENT_OPERATIONS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ The dispatch POST returns no body or run ID.
8080

8181
Full details live in `utils/evals/EVALS.md`.
8282

83-
`mark_eval_entries()` in `utils/matrix_logic/generate_sweep_configs.py` selects evals, which default to the 8k1k subset and run separately from throughput with `EVAL_ONLY=true`.
83+
`mark_eval_entries()` in `infx/matrix/generate.py` selects evals, which default to the 8k1k subset and run separately from throughput with `EVAL_ONLY=true`.
8484

8585
- `--no-evals`: skip evals.
8686
- `--evals-only`: run the default selected eval subset and suppress throughput.

‎.github/workflows/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ configs/*.yaml
309309
│
310310
▼
311311
┌─────────────────────────┐
312-
│ generate_sweep_configs │ ← Matrix generation
312+
│ infx.matrix.generate │ ← Matrix generation
313313
└─────────────────────────┘
314314
│
315315
▼

‎.github/workflows/claude.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ jobs:
113113
)
114114
```
115115
116-
The `generate-cli-command` input accepts arguments for `generate_sweep_configs.py`. Usage: `generate_sweep_configs.py` `[-h]` `{full-sweep,test-config}`
116+
The `generate-cli-command` input accepts arguments for `python -m infx.matrix.generate`. Usage: `python -m infx.matrix.generate` `[-h]` `{full-sweep,test-config}`
117117
118118
**Subcommand reference:**
119119
- `full-sweep`: Use this subcommand with filter flags like `--model-prefix`, `--framework`, `--precision`, `--runner-type`, `--min-conc`, `--max-conc`, `--seq-lens`. This is the primary subcommand for running benchmarks.

‎.github/workflows/e2e-tests.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,9 +314,9 @@ jobs:
314314
if [ "$EVALS_ONLY" = "true" ]; then
315315
GENERATE_ARGS+=(--evals-only)
316316
fi
317-
CONFIG_JSON=$(uv run --no-project --exclude-newer PT12H --python 3.12 --with pydantic --with pyyaml \
318-
python "${GITHUB_WORKSPACE}/utils/matrix_logic/generate_sweep_configs.py" \
319-
"${GENERATE_ARGS[@]}")
317+
CONFIG_JSON=$(env PYTHONPATH="${GITHUB_WORKSPACE}" \
318+
uv run --no-project --exclude-newer PT12H --python 3.12 --with pydantic --with pyyaml \
319+
python -P -m infx.matrix.generate "${GENERATE_ARGS[@]}")
320320
fi
321321
CONFIG_JSON=$(printf '%s' "$CONFIG_JSON" | env PYTHONPATH="$PRIORITY_ROOT" \
322322
uv run --no-project --exclude-newer PT12H --python 3.12 --with pydantic --with pyyaml \

‎.github/workflows/profile.yml‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,9 @@ jobs:
8585
fi
8686
source "$PRIORITY_ROOT/benchmarks/benchmark_lib.sh" --validation-only
8787
check_env_vars INPUTS_CONFIG_FILE INPUTS_CONFIG_KEY INPUTS_CONC PR_LABELS
88-
CONFIG_JSON=$(uv run --no-project --exclude-newer PT12H --python 3.12 --with pydantic --with pyyaml \
89-
python "${GITHUB_WORKSPACE}/utils/matrix_logic/generate_sweep_configs.py" \
88+
CONFIG_JSON=$(env PYTHONPATH="${GITHUB_WORKSPACE}" \
89+
uv run --no-project --exclude-newer PT12H --python 3.12 --with pydantic --with pyyaml \
90+
python -P -m infx.matrix.generate \
9091
test-config --config-files "$INPUTS_CONFIG_FILE" --config-keys "$INPUTS_CONFIG_KEY" --conc "$INPUTS_CONC")
9192
CONFIG_JSON=$(printf '%s' "$CONFIG_JSON" | env PYTHONPATH="$PRIORITY_ROOT" uv run --no-project --exclude-newer PT12H --python 3.12 --with pyyaml \
9293
python -P "${PRIORITY_ROOT}/utils/ci_priority.py" \

‎benchmarks/multi_node/srt-slurm-recipes/RECIPES.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ srtctl migrate --verify -f benchmarks/multi_node/srt-slurm-recipes/dsr1/sglang
5959
srtctl migrate --in-place -f benchmarks/multi_node/srt-slurm-recipes/dsr1/sglang
6060
# Repeat for the other model/engine directories.
6161
# Use the pinned TileRT fork for glm5.1/tilert/.
62-
python -m pytest utils/matrix_logic/ -q
62+
python -m pytest infx/tests/matrix/ -q
6363
python -m infx.matrix.generate full-sweep \
6464
--config-files configs/nvidia-master.yaml \
6565
--framework dynamo-sglang dynamo-trt dynamo-vllm --multi-node

‎benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ srtctl migrate --verify -f benchmarks/multi_node/srt-slurm-recipes/dsr1/sglang
5959
srtctl migrate --in-place -f benchmarks/multi_node/srt-slurm-recipes/dsr1/sglang
6060
# 对其他模型/引擎目录重复执行。
6161
# 迁移 glm5.1/tilert/ 时,使用固定提交的 TileRT 分支仓库。
62-
python -m pytest utils/matrix_logic/ -q
62+
python -m pytest infx/tests/matrix/ -q
6363
python -m infx.matrix.generate full-sweep \
6464
--config-files configs/nvidia-master.yaml \
6565
--framework dynamo-sglang dynamo-trt dynamo-vllm --multi-node

‎docs/MODELS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ Other offloading tiers, including NVMe KV cache offloading, are outside the init
175175

176176
## Notes
177177

178-
- The `Prefix` column is the canonical `model-prefix` used in `configs/*-master.yaml` and by `generate_sweep_configs.py --model-prefix`.
178+
- The `Prefix` column is the canonical `model-prefix` used in `configs/*-master.yaml` and by `python -m infx.matrix.generate --model-prefix`.
179179
- "Retired" means the model no longer has any active scenario. Retired models' configs are deleted from the master configs; the former `configs/deprecated/` archive was removed in #3464, so past settings live in git history and `perf-changelog.yaml`.
180180
- Deprecating a precision (e.g. Qwen3.5 bf16) or one arm of an A/B pair (e.g. non-MTP) narrows a model's recipe coverage without retiring the model. The model stays listed as active as long as one scenario still runs.
181181
- `dsr1` began as the DeepSeek-V3 workflow templates in the initial repo import and was switched to DeepSeek-R1 benchmarking on 2025-08-13 (renamed `dsv3` → `dsr1` on 2025-08-20).

‎docs/MODELS_zh.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ InferenceX 支持 SGLang 和 vLLM 双方的维护者,并响应 AI 实验室和
175175

176176
## 说明
177177

178-
- 「前缀」列为 `configs/*-master.yaml` 中的规范 `model-prefix`,同时用于 `generate_sweep_configs.py --model-prefix`。
178+
- 「前缀」列为 `configs/*-master.yaml` 中的规范 `model-prefix`,同时用于 `python -m infx.matrix.generate --model-prefix`。
179179
- 「退役」指该模型已无任何启用场景。退役模型的配置直接从主配置中删除;原 `configs/deprecated/` 归档目录已在 #3464 中删除,历史设置保留在 Git 历史与 `perf-changelog.yaml` 中。
180180
- 弃用某一精度(如 Qwen3.5 bf16)或 A/B 对照中的某一分支(如非 MTP),只是收窄该模型的配方覆盖范围,并不等于模型退役;只要仍有一个场景在运行,该模型即继续列为启用状态。
181181
- `dsr1` 最初以 DeepSeek-V3 workflow 模板的形式随仓库首次导入,2025-08-13 切换为 DeepSeek-R1 基准测试(2025-08-20 将 `dsv3` 重命名为 `dsr1`)。

0 commit comments

Comments
 (0)