Skip to content

Commit 33d7cbe

Browse files
authored
[Model Runner v2] Force v1 runner for tests (#43233)
Signed-off-by: yewentao256 <zhyanwentao@126.com>
1 parent b32fe41 commit 33d7cbe

6 files changed

Lines changed: 50 additions & 6 deletions

File tree

‎tests/compile/correctness_e2e/test_async_tp.py‎

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,13 @@ def test_async_tp_pass_correctness(
9292
"mp",
9393
]
9494

95-
compare_two_settings(model_id, async_tp_args, tp_args, method="generate")
95+
compare_two_settings(
96+
model_id,
97+
async_tp_args,
98+
tp_args,
99+
method="generate",
100+
force_v1_runner=True,
101+
)
96102

97103

98104
@create_new_process_for_each_test()
@@ -154,4 +160,10 @@ def test_async_tp_pass_nvfp4_correctness(num_gpus_available: int, monkeypatch):
154160
"mp",
155161
]
156162

157-
compare_two_settings(NVFP4_MODEL_ID, async_tp_args, tp_args, method="generate")
163+
compare_two_settings(
164+
NVFP4_MODEL_ID,
165+
async_tp_args,
166+
tp_args,
167+
method="generate",
168+
force_v1_runner=True,
169+
)

‎tests/compile/correctness_e2e/test_sequence_parallel.py‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,13 @@ def _compare_sp(
294294
"mp",
295295
]
296296

297-
compare_two_settings(model_id, tp_sp_args, tp_args, method=method)
297+
compare_two_settings(
298+
model_id,
299+
tp_sp_args,
300+
tp_args,
301+
method=method,
302+
force_v1_runner=True,
303+
)
298304

299305

300306
SP_TEXT_GENERATION_MODELS = {

‎tests/compile/fullgraph/test_basic_correctness.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ def test_compile_correctness(
145145
all_args,
146146
all_envs,
147147
method=method if method != "generate" else "generate_close",
148+
force_v1_runner=True,
148149
)
149150
all_envs.clear()
150151
all_args.clear()
@@ -158,4 +159,4 @@ def test_compile_correctness(
158159
all_args.append(final_args + [f"-cc.mode={mode.name}", "-cc.backend=eager"])
159160
all_envs.append({})
160161

161-
compare_all_settings(model, all_args, all_envs, method=method)
162+
compare_all_settings(model, all_args, all_envs, method=method, force_v1_runner=True)

‎tests/distributed/test_pipeline_parallel.py‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,14 @@ def _compare_tp(
349349
"mp",
350350
]
351351

352-
compare_two_settings(model_id, pp_args, tp_args, pp_env, tp_env, method=method)
352+
compare_two_settings(
353+
model_id,
354+
pp_args,
355+
tp_args,
356+
pp_env,
357+
tp_env,
358+
method=method,
359+
)
353360

354361

355362
@pytest.mark.parametrize(

‎tests/models/quantization/test_bitsandbytes.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,11 @@ def test_load_pp_4bit_bnb_model(model_name, description) -> None:
137137
"--pipeline-parallel-size",
138138
"2",
139139
]
140-
compare_two_settings(model_name, common_args, pp_args)
140+
compare_two_settings(
141+
model_name,
142+
common_args,
143+
pp_args,
144+
)
141145

142146

143147
@pytest.mark.skipif(

‎tests/utils.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,7 @@ def compare_two_settings(
11171117
method: str = "generate",
11181118
max_wait_seconds: float | None = None,
11191119
include_seeded_sampling: bool = True,
1120+
force_v1_runner: bool = False,
11201121
) -> None:
11211122
"""
11221123
Launch API server with two different sets of arguments/environments
@@ -1130,6 +1131,9 @@ def compare_two_settings(
11301131
env2: The second set of environment variables to pass to the API server.
11311132
include_seeded_sampling: Whether to include temperature=1.0 seeded
11321133
sampling checks in the default generate comparison.
1134+
force_v1_runner: Whether to pin all compared settings to the v1 model
1135+
runner to avoid mixing model runner differences into correctness
1136+
tests.
11331137
"""
11341138

11351139
compare_all_settings(
@@ -1139,6 +1143,7 @@ def compare_two_settings(
11391143
method=method,
11401144
max_wait_seconds=max_wait_seconds,
11411145
include_seeded_sampling=include_seeded_sampling,
1146+
force_v1_runner=force_v1_runner,
11421147
)
11431148

11441149

@@ -1150,6 +1155,7 @@ def compare_all_settings(
11501155
method: str = "generate",
11511156
max_wait_seconds: float | None = None,
11521157
include_seeded_sampling: bool = True,
1158+
force_v1_runner: bool = False,
11531159
) -> None:
11541160
"""
11551161
Launch API server with several different sets of arguments/environments
@@ -1160,8 +1166,16 @@ def compare_all_settings(
11601166
all_envs: A list of environment dictionaries to pass to the API server.
11611167
include_seeded_sampling: Whether to include temperature=1.0 seeded
11621168
sampling checks in the default generate comparison.
1169+
force_v1_runner: Whether to pin all compared settings to the v1 model
1170+
runner to avoid mixing model runner differences into correctness
1171+
tests.
11631172
"""
11641173

1174+
if force_v1_runner:
1175+
all_envs = [
1176+
{"VLLM_USE_V2_MODEL_RUNNER": "0", **(env or {})} for env in all_envs
1177+
]
1178+
11651179
trust_remote_code = False
11661180
for args in all_args:
11671181
if "--trust-remote-code" in args:

0 commit comments

Comments
 (0)