昇腾社区首页
中文
注册
开发者
下载

MatMulBiasAddFusionPass

融合模式

将MatMul/MatMulv2/MatMulV3/BatchMatmul/BatchMatMulV2/BatchMatMulV3算子和biasadd/add算子融合为MatMul/MatMulv2/MatMulV3/BatchMatmul/BatchMatMulV2/BatchMatMulV3算子。

融合为

使用约束

  • add算子的两个输入必须得有一个的维度为1。
  • bias的数值大小与MatMul或MatMulV2或MatMulV3/BatchMatMul/BatchMatMulV2/BatchMatMulV3输出的倒数第一维的数值大小保持一致。
  • MatMul/MatMulV2/MatMulV3的输出维度为2。
  • 不支持broadcast,broadcast是让两个shape不同的Tensor自动扩展成相同的shape,从而可以进行元素级的运算。broadcast的规则是从右往左检查两个Tensor的shape。如果某一边的维度是 1,那么它会自动扩展为与另一边相同。
  • 如果融合前的BiasAdd/Add是fp16计算,那么融合之后bias会在matmul内部使用fp32相加,会导致结果精度变化(精度提升),关闭MatMulBiasAddFusionPass后则不会出现以上精度变化。

支持的型号

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas A3 训练系列产品/Atlas A3 推理系列产品