---
title: 融合节点处理
description: "AscBackend和AscBackend之间才可以进行融合，融合后，可以循环轴合并生成的仍然是AscBackend类型，无法循环轴合并的，则生成FusedAscBackend类型。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/programug/graphdevg/autofuse_1_0021.html
sourcePath: /source/zh/canncommercial/900/programug/graphdevg/autofuse_1_0021.html
indexId: d7ff3128469d359980ff42b5e33b7855ac99100f07fc32233544de710140c15f70
---
# 融合节点处理

AscBackend和AscBackend之间才可以进行融合，融合后，可以循环轴合并生成的仍然是AscBackend类型，无法循环轴合并的，则生成FusedAscBackend类型。

节点融合需要融合原图中的AscBackend，并同时对AscBackend下的AscGraph进行子图融合，子图融合过程中需要消除AscGraph上的load和store节点。融合节点处理原则如下，示意图如图1所示。

- 根据循环轴是否相同，判断两个AscBackend是否能循环轴合并，如果能循环轴合并，合并AscBackend下的两个AscGraph。（具体合并流程可参考  图2
）。

- 如果不能循环轴合并，则将AscBackend放入一个新FusedAscBackend的子图中，由后端决定生成多个kernel还是一个kernel包含多个循环。
- 不能循环合并的FusedAscBackend与原图中的AscBackend直接融合成一个新FusedAscBackend。
- FusedAscBackend的子图中可能还存在可以循环合并的AscBackend，框架应尽可能地进行循环轴合并。

图1 融合节点处理

图2 循环轴合并示意图
