执行摘要
本PR修复了ROCm CI配置中多模态内存泄漏测试的执行问题,通过将test_memory_leak.py从忽略列表移出并作为独立命令运行,确保测试能够正确执行。这是对PR #39411的后续修复,主要影响AMD平台的CI测试稳定性,对生产代码无直接影响。
功能与动机
此变更旨在解决多模态测试中的内存清理问题。PR body中明确说明这是PR #39411的后续修复(Parity PR),review评论进一步指出原配置中test_memory_leak.py被错误忽略,且新增的测试命令缺少必要配置,可能导致ROCm平台测试不稳定。
实现拆解
仅修改了.buildkite/test-amd.yaml文件,在三个测试步骤中进行了相同调整:
- 在原有pytest命令的--ignore列表中新增
test_memory_leak.py
- 新增独立命令运行该测试文件
关键变更示例(以第一个步骤为例):
- pytest -v -s models/multimodal -m core_model \
--ignore models/multimodal/generation/test_common.py \
... \
--ignore models/multimodal/generation/test_memory_leak.py \
--ignore models/multimodal/processing
- pytest -v -s models/multimodal/generation/test_memory_leak.py -m core_model
评论区精华
review中gemini-code-assist[bot]指出了三个关键问题:
"The new pytest command for test_memory_leak.py is missing the -v and -s flags... multi-modal tests should use VLLM_WORKER_MULTIPROC_METHOD=spawn to ensure stability and avoid deadlocks."
这揭示了ROCm平台上多模态测试的特殊要求:必须使用spawn多进程方法避免死锁。提交者在后续提交中修复了这些问题。
风险与影响
风险:
- 若未正确添加
VLLM_WORKER_MULTIPROC_METHOD=spawn环境变量,可能导致ROCm测试死锁
- 配置变更可能影响其他测试步骤,但变更范围小,风险可控
影响:
- 仅影响ROCm CI测试执行,提升多模态测试覆盖率和稳定性
- 对用户功能和系统性能无直接影响
- 有助于及早发现内存泄漏问题
关联脉络
这是PR #39411的后续修复,两者共同解决多模态测试的内存清理问题。从近期历史PR看,仓库持续关注多模态测试的稳定性(如PR #39344、#39526修复多模态模型问题),本PR是这一趋势在CI层面的体现。ROCm平台的测试配置特殊要求(spawn方法)在其他多模态相关PR中也有体现,形成了跨平台测试的一致模式。
参与讨论