ConcatTileFusionPass
融合模式
该融合将连续具备相同Multiple的Tile算子的输入使用Concat进行连接,进而完成Tile算子的融合,如下图所示。
使用约束
- 仅支持Tile/TileD+Concat类算子。
- Concat[ConCatD/ConcatV2/ConcatV2D],Tile/TileD只能是单输出。
- Concat的concat_dim与Tile/TileD的广播轴不能是同一根轴。
- Concat仅支持含数据边,控制边只允许存在于Tile节点的输入
- 仅支持静态场景
- Tile/TileD的输入Multiple必须相同,在Concat的输入上表现连续性,Tile/TileD连续的数量必须大于2。
- Tile/TileD的输入张量的形状维度的乘积必须小于等于shape_limited_。
shape_limited_ = vector_calculate_size * 2 * vector_core_num/data_type_size 。
其中,data_type_size=Concat[ConCatD/ConcatV2/ConcatV2D]的输出张量的数据类型对应的数据大小。
vector_calculate_size和vector_core_num的查看方法如下。
查看“${INSTALL_DIR}/${arch}/data/platform_config”文件夹中的相应平台信息文件,分别搜索关键字“vec_calc_size”或“vector_core_cnt”以获取vector_calculate_size和vector_core_num的值。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。
支持的型号
父主题: 图融合规则说明