Prhub

#22329 [AMD] Add prealloc token env for mori-ep

原始 PR 作者 billishyahao 合并时间 2026-04-10 00:34 文件变更 3 提交数 6 评论 2 代码增减 +30 / -5

执行摘要

为 AMD MORI-EP 新增预分配令牌环境变量,支持内存占用与性能调优。

根据PR body描述,主要动机是:

  1. 添加SGLANG_MORI_PREALLOC_MAX_RECV_TOKENS环境变量,允许用户配置MORI-EP令牌预分配;
  2. 添加check_mori_compatibility函数提供向后兼容性;
  3. 一些次要的文档修复。这解决了用户需要灵活控制内存占用与性能平衡的需求。

该PR值得AMD平台开发者或MoE模块维护者精读,重点关注check_mori_compatibility的设计如何优雅处理库版本差异,以及环境变量与性能调优的关联。

讨论亮点

review讨论较少,主要围绕文档清晰度。reviewer HaiShaw在评论中要求作者在代码或文档中添加关于SGLANG_MORI_PREALLOC_MAX_RECV_TOKENS使用方法和默认值的说明。作者通过提交4700dbf57c1d868cbc456118f40cdbeae6d7c733添加了相关描述,体现在环境变量文档的详细说明中。

实现拆解

实现分为三个关键部分:

  1. 在python/sglang/srt/layers/moe/token_dispatcher/moriep.py中,新增check_mori_compatibility函数,用于过滤MORI库不支持的参数;在init_mori_op函数中,通过get_int_env_var读取SGLANG_MORI_PREALLOC_MAX_RECV_TOKENS环境变量(默认0),并传递给mori.ops.EpDispatchCombineConfig。
  2. 在docs/references/environment_variables.md中,新增该环境变量的文档条目,说明其作用、有效范围和默认值。
  3. 在python/sglang/srt/server_args.py中,修正帮助文本,将DeepEP扩展为DeepEP或MoriEP,以反映更广泛的MoE支持。
文件 模块 状态 重要度
python/sglang/srt/layers/moe/token_dispatcher/moriep.py MoE Token Dispatcher modified 8.0
docs/references/environment_variables.md Documentation modified 6.0
python/sglang/srt/server_args.py Server Arguments modified 3.0

关键符号

init_mori_op check_mori_compatibility get_int_env_var

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

评论区精华

环境变量文档说明 documentation

reviewer HaiShaw 要求作者补充 SGLANG_MORI_PREALLOC_MAX_RECV_TOKENS 的使用方法和默认值说明。

结论:作者通过提交添加了详细文档描述,包括有效范围、默认值和风险警告。 · 已解决

风险与影响

主要风险包括:

  1. 兼容性风险:新增的check_mori_compatibility函数通过动态检查MORI库的EpDispatchCombineConfig字段来过滤不兼容参数,但依赖运行时反射,可能在不同MORI版本中行为不一致。
  2. 配置风险:环境变量SGLANG_MORI_PREALLOC_MAX_RECV_TOKENS设置过小可能导致缓冲区溢出,文档已警告但缺乏运行时验证。
  3. 回归风险:修改了init_mori_op函数的参数传递逻辑,可能影响现有MORI-EP功能,但UT测试通过(test/registered/amd/test_moriep_small.py)提供了基本保障。

对用户影响:AMD平台用户现在可以通过环境变量精细控制MORI-EP的内存预分配,在内存受限场景下减少占用,但需自行权衡溢出风险。对系统影响:扩展了MoE调度配置能力,增强了平台适应性。对团队影响:代码变更集中在MORI-EP模块,涉及向后兼容性处理,需要团队关注MORI库的版本演进。

向后兼容性依赖反射 环境变量配置风险 核心路径变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论