Prhub

#22420 [Test] Add CPU unit tests for `MemoryPoolConfigurator`

原始 PR 作者 hnyls2002 合并时间 2026-04-09 15:39 文件变更 1 提交数 13 评论 7 代码增减 +336 / -0

执行摘要

为 MemoryPoolConfigurator 添加 CPU 单元测试,验证内存池配置逻辑。

PR body中说明是跟随PR #22389,添加测试以验证MemoryPoolConfigurator的内存池配置计算逻辑,确保内存利用超过99%可用内存、页面对齐、比率正确性和约束行为得到验证。

建议开发者阅读此PR以了解内存池配置的测试方法,特别是模拟技术的使用和多种配置路径的验证策略。

讨论亮点

review评论为空,未发现讨论。

实现拆解

实现集中在单个测试文件test/registered/unit/model_executor/test_pool_configurator.py中。关键点包括:使用unittest.mock模拟torch._utils._element_sizeget_attention_tp_size函数以支持CPU环境;定义_make_model_runner函数创建模拟ModelRunner对象;通过多个测试用例覆盖DefaultPoolConfigurator和HybridSWAPoolConfigurator的不同配置路径。

文件 模块 状态 重要度
test/registered/unit/model_executor/test_pool_configurator.py 测试 / 模型执行器 added 4.0

关键符号

_make_model_runner _full_per_token _swa_per_token _actual_memory_used

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

主要风险在于模拟环境与真实GPU环境可能存在差异,例如模拟的函数可能不完全准确;测试覆盖可能不足,未覆盖所有边缘情况;但通过模拟关键函数和多种配置路径,风险较低。

此PR增加测试覆盖,提升内存池配置器的代码质量和可靠性,对最终用户无直接影响,但有助于开发团队在后续修改中避免回归问题。

模拟环境差异 测试覆盖不足

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论