---
title: BatchMatMulFusionPass
description: "有如下两种融合模式。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/graphubfusionref/atlasrr_30_0032.html
sourcePath: /source/zh/canncommercial/900/maintenref/graphubfusionref/atlasrr_30_0032.html
indexId: 8cdcf93334138b7164ca8028564e10191362d8cea321c078bdedcd806f2aa81b78
---
# BatchMatMulFusionPass

#### 融合模式

有如下两种融合模式。

模式一：将满足如下Pattern关系的Transpose节点进行消除。

融合成


模式二：当BatchMatMul输入shape都是2维时，将BatchMatMul转换为MatMul，该融合规则默认关闭。


#### 使用约束

模式一的约束如下：

- Transpose1和Transpose2可以同时存在，也可以只存在一个。
- Transpose类型包括Transpose和TransposeD。
- Transpose节点仅对输入的最后两维进行交换，如Transpose节点的输入shape为（batch, a, b）, 输出shape为（batch, b, a）。
- matmul类型包括BatchMatMul/BatchMatMulV2/MatMul/MatMulV2。
- matmul节点的输入dtype仅支持float16, float32和bfloat16。
