已合并
AddRmsNorm + quant 支持pattern算子融合 #2551
mihudan创建于 1月26日
AddRmsNorm + quant 支持pattern算子融合 #2551
已合并
mihudan创建于 1月26日
mihudan成员
1月26日

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
likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 mihudan 的贡献)
Mmihudan成员
1月26日 创建了 pull request,commit be4126a8
ascend-robot
ascend-robot成员
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
likedislike
ascend-robot
ascend-robot成员
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
likedislike
ascend-robotascend-robot成员
1月26日 添加了label:stat/needs-squash
ascend-robotascend-robot成员
1月26日 添加了label:ascend-cla/yes
此处折叠了325条消息 查看更多
yushikang
yushikang成员
2月5日 评论:

/approve

likedislike
ascend-robotascend-robot成员
2月5日 添加了label:approvedlgtm
ascend-robot
ascend-robot成员
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.

likedislike
ascend-robotascend-robot成员
2月5日 合入了pull request
yang-binrong成员2月6日进行代码检视1
tests/smoke/aclgraph_test.py
@@ -1727,2 +1944,4 @@
1944+ 
17271945if __name__ == '__main__':
17281946 unittest.main()
yang-binrong2月6日评论:

【一般】避免功能拓展时散弹式修改,需要改用全局变量

likedislike