昇腾社区首页
中文
注册

BatchMatMulV2ReshapeFusionPass

融合模式

针对A或B的shape为1维的场景,使用Reshape将输入重置为2维,融合pattern如下:

融合为

针对A的shape为3维,B的shape为2维的场景,使用Reshape将A输入重置为2维,整体转化为MatMul算子进行计算,融合pattern如下:

融合为·

使用约束

  • 不支持INT4/INT8数据类型,动态场景下,仅支持左矩阵和右矩阵都不转置的情况。
  • 不支持左右矩阵为NZ格式。
  • 针对第二种图融合场景,即左矩阵shape为3维,右矩阵shape为2维,要求左矩阵trans_flag为False。不支持batch*m超过max(int64)的大小。
  • 针对输入optype为MatMulV2时,仅支持输入节点的左输入dtype为fp16 (data_type != DT_FLOAT16)。
  • BatchMatMulV2后接Add/Relu/AddN算子场景下,Batch维度大于50, M维度小于32,或者M=1,batch大于1,图融合生效。
  • 单BatchMatMulV2场景,Batch维度大于4096, M维度小于64,或者M=1,batch大于1,图融合生效。
  • Atlas 推理系列产品 的非UB融合场景,支持白名单用例使能该图融合。
  • Atlas 训练系列产品 的非UB融合场景,支持白名单用例使能该图融合。

支持的型号

Atlas 200/300/500 推理产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 训练系列产品

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