执行摘要
使用 vllm_runner 确保 GPU 内存正确释放
ROCm CI 测试中,滑动窗口测试用例间 GPU 内存未能及时释放,导致下一个测试在启动时内存检查失败(见 BuildKite 构建日志)。使用 vllm_runner 上下文管理器可自动触发引擎关闭和资源回收。
建议合并。该 PR 是典型的 CI 稳定性修复,逻辑清晰风险低,值得学习使用上下文管理器管理引擎生命周期的模式。
无讨论。
ROCm CI 测试中,滑动窗口测试用例间 GPU 内存未能及时释放,导致下一个测试在启动时内存检查失败(见 BuildKite 构建日志)。使用 vllm_runner 上下文管理器可自动触发引擎关闭和资源回收。
建议合并。该 PR 是典型的 CI 稳定性修复,逻辑清晰风险低,值得学习使用上下文管理器管理引擎生命周期的模式。
无讨论。
tests/v1/e2e/general/test_correctness_sliding_window.py 的 test_sliding_window_retrieval 函数中,将 LLM(...) 的显式创建替换为 with vllm_runner(...) as runner: 上下文管理器。vllm_runner 接收原传入 LLM 的模型名、disable_hybrid_kv_cache_manager 等参数,并额外显式传递 max_model_len=None 和 enable_chunked_prefill=None,确保行为一致。runner.get_llm() 获得 LLM 实例以供后续生成和验证使用。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
tests/v1/e2e/general/test_correctness_sliding_window.py |
测试 | modified | 4.86 |
tests/v1/e2e/general/test_correctness_sliding_window.py
test-coverage
唯一变更文件,替换引擎创建方式为上下文管理器以自动释放 GPU 内存。
# tests/v1/e2e/general/test_correctness_sliding_window.py
@pytest.mark.parametrize(
"model",
[
"bigcode/starcoder2-3b", # sliding window only
"google/gemma-3-1b-it", # sliding window + full attention
],
)
@pytest.mark.parametrize("batch_size", [5])
@pytest.mark.parametrize("seed", [1])
@pytest.mark.parametrize("disable_hybrid_kv_cache_manager", [True, False])
def test_sliding_window_retrieval(
model, batch_size, seed, disable_hybrid_kv_cache_manager, vllm_runner # 新增 vllm_runner fixture
):
# ...
with vllm_runner(
model,
max_model_len=None,
enable_chunked_prefill=None,
disable_hybrid_kv_cache_manager=disable_hybrid_kv_cache_manager,
enforce_eager=enforce_eager,
) as runner: # 上下文管理器自动管理 LLM 生命周期
llm = runner.get_llm()
sampling_params = SamplingParams(temperature=0.0, max_tokens=100)
prompts, answer, indices = prep_prompts(
batch_size, ln_range=test_config.ln_range
)
# ... 生成与断言逻辑不变 ...
# 退出 with 块后 vllm_runner 自动关闭引擎并释放 GPU 内存
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
风险极低。变更仅限于测试文件,仅修改了引擎创建方式,业务逻辑和断言未变。vllm_runner 已在其他测试中广泛使用,行为稳定。
影响范围仅限 ROCm CI 环境下的滑动窗口测试,提升测试稳定性和可靠性,对其他测试无影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论