研究 PR#42631 IR Op 优先级优化
vllm #42631
set_forward_context
每次 forward 调用的上下文管理器,负责:
- 设置 attn_metadata
- 设置 IR op 优先级
- 启用 torch wrap
问题:每次推理都重复设置常量状态,造成性能损耗。
为什么放在 Worker 而非 Platform
每个 Worker 是独立进程,优先级和 torch wrap 是进程级全局状态。放在 Worker init 中只需设置一次。
之前为什么能运行
之前通过 set_forward_context() 每次 forward 时隐式初始化 IR。
启发
尽量把forward的重复的工作移动到worker初始化到时候来完成