已合并
AddRmsNorm + quant 支持pattern算子融合 #2551
mihudan创建于 1月26日
AddRmsNorm + quant 支持pattern算子融合 #2551
已合并
Pull Request已成功合入, 合并人@ascend-robot
(感谢 mihudan 的贡献)ascend-robot
1月26日 评论:
1月26日 评论:
Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here
以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入.
| Module List | Reviewers | Committers |
|---|---|---|
| repo-Ascend/torchair | songkai111, wasd1111222, medivh-x, wangqiang160, zhanj | wasd1111222, medivh-x, li_jing_hw, dingdairong, wangqiang160 |


ascend-robot
1月26日 评论:
1月26日 评论:
以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入
| Module List | Reviewers | Committers |
|---|---|---|
| repo-Ascend/torchair | wujunliang, wuyi_huawei, shen_weiling, medivh-x, wangqiang160 | wasd1111222, medivh-x, li_jing_hw, dingdairong, wangqiang160 |


1月26日 添加了label:stat/needs-squash
1月26日 添加了label:ascend-cla/yes
此处折叠了325条消息 查看更多
yushikang
2月5日 评论:
2月5日 评论:
/approve


2月5日 添加了label:approvedlgtm
ascend-robot
2月5日 评论:
2月5日 评论:
Review Guide
This Pull-Request Passes Review.
Committers who wrote a comment of /approve are: wasd1111222.
Reviewers who wrote a comment of /lgtm are: fu-hao-huawei, wasd1111222.


2月5日 合入了pull request
tests/smoke/aclgraph_test.py
@@ -1727,2 +1944,4 @@
1944+
17271945if __name__ == '__main__':
17281946 unittest.main()
【一般】避免功能拓展时散弹式修改,需要改用全局变量


AddRmsNorm + quant 支持pattern算子融合
背景
当前已有 npu_add_rms_norm,npu_quantize以及npu_add_rms_norm_quant算子
且torchair目前具备如下能力:
对于aclgraph,想实现特定算子的融合,可以借助pytorch原生的pattern_matcher逻辑,用融合算子替换原来的多个算子(实际上是fx图多个节点的替换)
本合入则是利用该能力注册实现对npu_add_rms_norm+quantize 计算进行融合
融合前
graph LR subgraph IN[" "] direction LR X1["x1"] X2["x2"] G["gamma"] end subgraph OP[" "] direction LR A["npu_add_rms_norm"] B["npu_quantize"] end subgraph OUT[" "] direction LR Y1["y_out"] Y2["x_out"] end X1 --> A X2 --> A G --> A A --> B A --> Y2 B --> Y1 style A fill:#e3f2fd,stroke:#1976d2 style B fill:#e3f2fd,stroke:#1976d2融合后
graph LR subgraph IN[" "] direction LR X1["x1"] X2["x2"] G["gamma"] S["scales"] Z["zero_points"] end subgraph OP[" "] FUSED["npu_add_rms_norm_quant"] end subgraph OUT[" "] direction LR Y1["y1"] Y2["x_out"] end X1 --> FUSED X2 --> FUSED G --> FUSED S --> FUSED Z --> FUSED FUSED --> Y1 FUSED --> Y2 style FUSED fill:#c8e6c9,stroke:#388e3c