Skip to content
4 changes: 3 additions & 1 deletion .github/workflows/nightly-benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,6 @@ jobs:
- { id: meta-llama/Llama-3.1-8B-Instruct, slug: meta-llama-Llama-3.1-8B-Instruct, test_class: TestNightlyLlama8bMulti }
- { id: Qwen/Qwen2.5-7B-Instruct, slug: Qwen-Qwen2.5-7B-Instruct, test_class: TestNightlyQwen7bMulti }
- { id: Qwen/Qwen3-30B-A3B, slug: Qwen-Qwen3-30B-A3B, test_class: TestNightlyQwen30bMulti }
- { id: openai/gpt-oss-20b, slug: openai-gpt-oss-20b, test_class: TestNightlyGptOss20bMulti }
variant:
- { id: sglang, runtime: sglang, grpc_only: "false", setup_vllm: false, setup_trtllm: false, extra_deps: "genai-bench" }
- { id: vllm, runtime: vllm, grpc_only: "false", setup_vllm: true, setup_trtllm: false, extra_deps: "genai-bench" }
Expand Down Expand Up @@ -347,6 +346,9 @@ jobs:
- { id: meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8, slug: meta-llama-Llama-4-Maverick-17B-128E-Instruct-FP8, test_class: TestNightlyLlama4MaverickSingle }
# Pausing MiniMax M2 nightly benchmark
# - { id: minimaxai/minimax-m2, slug: minimaxai-minimax-m2, test_class: TestNightlyMinimaxM2Single }
- id: zai-org/GLM-4.6
slug: zai-org-GLM-4.6
test_class: TestNightlyGlm46Single
Comment thread
nishanthp marked this conversation as resolved.
Resolved
variant:
- { id: sglang, runtime: sglang, grpc_only: "false", setup_vllm: false, setup_trtllm: false, extra_deps: "genai-bench" }
- { id: vllm, runtime: vllm, grpc_only: "false", setup_vllm: true, setup_trtllm: false, extra_deps: "genai-bench" }
Expand Down
18 changes: 12 additions & 6 deletions e2e_test/benchmarks/test_nightly_perf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
and concurrency levels. No performance thresholds — results are uploaded
as artifacts for tracking over time.

Each model has Single (1 worker) and Multi (N workers) classes, both
parametrized with http and grpc backends. The workflow matrix crosses
model × variant (single/multi × sglang/vllm); both protocols run for
all runtimes.
Each model always has a Single (1 worker) class, and models with
`multi_workers > 1` also get a Multi (N workers) class. Both variants
are parametrized with http and grpc backends. The workflow matrix
crosses the generated variants with sglang and vllm runtimes, and both
protocols run for all runtimes.

genai-bench defaults (omitted flags):
- Concurrency: [1, 2, 4, 8, 16, 32, 64, 128, 256]
Expand Down Expand Up @@ -102,6 +103,7 @@ def _run_nightly(setup_backend, genai_bench_runner, model_id, worker_count=1, **
("Qwen/Qwen3-30B-A3B", "Qwen30b", 4, ["http", "grpc"], {}),
("openai/gpt-oss-20b", "GptOss20b", 1, ["http", "grpc"], {}),
("minimaxai/minimax-m2", "MinimaxM2", 1, ["http", "grpc"], {}),
("zai-org/GLM-4.6", "Glm46", 1, ["http", "grpc"], {}),
Comment thread
slin1237 marked this conversation as resolved.
Resolved
(
"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
"Llama4Maverick",
Expand Down Expand Up @@ -142,12 +144,16 @@ def test_nightly_perf(self, setup_backend, genai_bench_runner):


for _model_id, _name, _multi_workers, _backends, _extra in _NIGHTLY_MODELS:
for _suffix, _count in [("Single", 1), ("Multi", _multi_workers)]:
variants = [("Single", 1)]
Comment thread
nishanthp marked this conversation as resolved.
Resolved
if _multi_workers > 1:
variants.append(("Multi", _multi_workers))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve Multi test aliases for 1-worker nightly models

This new guard stops generating TestNightly*Multi classes when _multi_workers == 1, which removes TestNightlyGptOss20bMulti from this module even though the nightly workflow still schedules that class in the H100 multi-worker matrix (.github/workflows/nightly-benchmark.yml model entry for gpt-oss and run step pytest ... -k "$K_FILTER"). Because -k only runs matching tests, that job now selects nothing and pytest exits non-zero (no tests collected), so the multi-worker gpt-oss nightly jobs fail.

Useful? React with 👍 / 👎.

Comment thread
slin1237 marked this conversation as resolved.
Resolved

for _suffix, _count in variants:
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
_cls_name = f"TestNightly{_name}{_suffix}"
_cls = _make_test_class(_model_id, _count, _backends, _extra)
_cls.__name__ = _cls_name
_cls.__qualname__ = _cls_name
globals()[_cls_name] = _cls

# Clean up loop variables from module namespace
del _model_id, _name, _multi_workers, _backends, _extra, _suffix, _count, _cls_name, _cls
del _model_id, _name, _multi_workers, _backends, _extra, _suffix, _count, _cls_name, _cls, variants
8 changes: 8 additions & 0 deletions e2e_test/infra/model_specs.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,14 @@ def _resolve_model_path(hf_path: str) -> str:
"worker_args": ["--trust-remote-code"],
"vllm_args": ["--trust-remote-code"],
},
# GLM-4.6 - nightly benchmarks
"zai-org/GLM-4.6": {
"model": _resolve_model_path("zai-org/GLM-4.6"),
"tp": 8,
Comment thread
nishanthp marked this conversation as resolved.
Resolved
"features": ["chat", "streaming", "function_calling", "reasoning"],
"worker_args": ["--trust-remote-code"],
"vllm_args": ["--trust-remote-code"],

@CatherineSue CatherineSue Apr 1, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need this parameter for this one. No .py in the model files.

},
Comment thread
nishanthp marked this conversation as resolved.
Resolved
# Vision-language model for multimodal benchmarks (MMMU)
"Qwen/Qwen3-VL-8B-Instruct": {
"model": _resolve_model_path("Qwen/Qwen3-VL-8B-Instruct"),
Expand Down