昇腾社区首页
中文
注册

ConvConcatFusionPass

融合模式

在concat算子前插入跳写算子,将原先通过concat拼接多个Conv2D内存的方式,修改成通过StridedWrite算子进行Conv2D内存拼接,以消除concat算子任务执行带来的性能消耗。

concat算子包括ConcatD/ConcatV2D,Conv2D算子包括Conv2D/Conv2D_Compress。

如下产品不支持StridedWrite,但会通过硬件实现StridedWrite类似功能,所以ConvConcatFusionPass也会匹配上。

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

Atlas 200I/500 A2 推理产品

子图中不存在Dequant和Quant时,有如下场景

场景一:

场景二:

场景三:

场景四:

场景五:

场景六:AIcore中cube和vector不分离时,不需要做mish融合

场景七:AIcore中cube和vector分离时,需要做mish融合

子图中不存在Dequant,但存在Quant时,有如下场景

场景一:

场景二:

场景三:

场景四:

场景五:

场景六:AIcore中cube和vector不分离时,不需要做mish融合

场景七:AIcore中cube和vector分离时,需要做mish融合

子图中存在Dequant且不存在Quant时,有如下场景

场景一:AIcore中cube和vector不分离时,不需要做mish融合

场景二:AIcore中cube和vector分离且至少一个分支存在mish算子时,需要做mish融合

子图中存在Dequant和Quant时,有如下场景

场景一:AIcore中cube和vector不分离时,不需要做mish融合

场景二:AIcore中cube和vector分离且至少一个分支存在mish算子时,需要做mish融合

使用约束

  • 量化场景下该融合规则必须打开,否则会导致transdata输出的dtype不支持。
  • 不支持动态shape场景。
  • 原始DType为fp16和float时,dim C需要为16的倍数,DType为int8,dim C需要为32的倍数,DType为int4,dim C需要为64的倍数。

支持的型号

Atlas 200/300/500 推理产品

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

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