DynamicQuantUpdateScatter
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | × |
| Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件 | √ |
| Kirin X90 处理器系列产品 | √ |
| Kirin 9030 处理器系列产品 | √ |
功能说明
- 算子功能:融合DynamicQuant+scatter+scatter为DynamicQuantUpdateScatter算子提升性能。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| var | 输入/输出 | 待更新的tensor。 | INT8 | ND |
| var_scale | 输入/输出 | 量化的scale因子,待更新的tensor。 | FLOAT32 | ND |
| indices | 输入 | 表示更新位置。 | INT32、INT64 | ND |
| updates | 输入 | 表示更新数据 | BFLOAT16、FLOAT16 | ND |
| smooth_scales | 输入 | 代表DynamicQuant的smoothScales。 | BFLOAT16、FLOAT16 | ND |
| axis | 属性 | scatter轴。只支持-2。 | - | - |
| reduce | 属性 | shape与var_scale一致。 | 与var_scale一致。 | - |
- Kirin X90/Kirin 9030 处理器系列产品:不支持BFLOAT16。
约束说明
- indices的维数只能是1维或者2维,如果是2维,其第2维的大小必须是2。
- updates的维数与var、var_scale的维数一样,其第1维的大小等于indices的第1维的大小,且var不大于的第1维的大小,其axis轴的大小不大于var的axis轴的大小。
- var和var_scale维度一致。
- smooth_scales 为1维且大小和var[-1]一致。
- reduce当前只支持‘update’,即更新操作。
- 尾轴需要32B对齐。
- indices映射的scatter数据段不能重合,若重合则因为多核并发原因将导致多次执行结果不一样。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_dynamic_quant_update_scatter | 通过算子IR构图方式调用DynamicQuantUpdateScatter算子。 |