---
title: AddRmsNormDynamicQuantFusionPass
description: "该融合将符合图融合pattern的AddRmsNorm算子和DynamicQuant算子融合成融合算子AddRmsNormDynamicQuant，其中AddRmsNorm算子的输出y作为DynamicQuant算子的第一个输入。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/graphubfusionref/atlasrr_30_0105.html
sourcePath: /source/zh/canncommercial/900/maintenref/graphubfusionref/atlasrr_30_0105.html
indexId: 20bc63e5cf6c48b3ccbefad0c301d270a700c12226d2c52e2e9aa46937d26b8778
---
# AddRmsNormDynamicQuantFusionPass

#### 融合模式

该融合将符合图融合pattern的AddRmsNorm算子和DynamicQuant算子融合成融合算子AddRmsNormDynamicQuant，其中AddRmsNorm算子的输出y作为DynamicQuant算子的第一个输入。

场景1：单路模式


场景2：双路模式


#### 使用约束

- 融合前AddRmsNorm和DynamicQuant算子输入类型需要保持一致（即全是fp16或者bf16）。
- DynamicQuant的输出yout的约束：

  - Atlas A2 训练系列产品 / Atlas A2 推理系列产品：yout仅支持量化类型为int8。
  - Atlas A3 训练系列产品 / Atlas A3 推理系列产品：yout仅支持量化类型为int8。
- dtype约束：

  - 有平滑系数场景下，DynamicQuant的smooth_scales dtype 须和AddRmsNorm的x1的dtype相同。
- shape约束：

  - 输入gamma的shape必须为1维，并且shape取值和x1，x2输入shape的尾轴相同，即：gamma.shape = [x1.shape[-1]]。

- attr约束：

  - Atlas 350 加速卡：dst_type仅支持DT_INT8、DT_HIFLOAT8、DT_FLOAT8_E4M3FN、DT_FLOAT8_E5M2。
  - Atlas A2 训练系列产品 / Atlas A2 推理系列产品：dst_type仅支持DT_INT8。
  - Atlas A3 训练系列产品 / Atlas A3 推理系列产品：dst_type仅支持DT_INT8。
  - 双路模式下，DynamicQuant0和DynamicQuant1的dst_type须相同。


#### 支持的型号

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

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

Atlas 350 加速卡
