执行摘要
将线性层中 matmul 和 add 操作合并为 linear,提升带 bias 情况的性能。
根据PR body描述,动机是性能优化。带bias情况下使用linear替换matmul和add可以加速,而不带bias时小shape下性能有下降,主要是由于Python层的if等调度开销。
建议精读此PR,因为它展示了核心算子优化中的性能权衡决策,例如在不带bias时保留matmul以避免小shape性能下降,值得学习如何平衡不同场景下的实现选择。
review中,zhangbo9674建议直接使用paddle.nn.functional.linear,BingooYang初始改为paddle._C_ops.linear,但最终采纳functional版本。qingqing01建议单测中不要添加环境变量FLAGS_use_legacy_linear,以避免额外依赖,该建议被采纳并在最终提交中移除。AI审核确认变更逻辑正确,性能优化合理,并强调了不带bias时保留matmul的权衡。
参与讨论