说明: 使用该接口时,请确保驱动固件包和CANN包都为配套的8.0.RC2版本或者配套的更高版本,否则将会引发报错,比如BUS ERROR等。
- 接口功能:实现quant + reduceScatter融合计算。
- 计算公式: 其中的Reduce计算是将来自不同rank的数据进行reduce计算。
该算子分为两段式接口,必须先调用“aclnnQuantReduceScatterGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnQuantReduceScatter”接口执行计算。
[object Object]
[object Object]
- 当x的数据类型为FLOAT8_E4M3FN, FLOAT8_E5M2并且scales的数据类型为FLOAT8_E8M0时,输入数据的量化方式为mx量化。
- 当x的数据类型为INT8、HIFLOAT8、FLOAT8_E4M3FN, FLOAT8_E5M2并且scales的数据类型为FLOAT时,输入数据的量化方式为pertoken-pergroup量化(groupSize=128)。
- 只在Ascend950系列平台使能。
- 不支持空tensor输入。
- 通信域大小支持2、4、8。
- 通信域使用约束:同一通信域内仅允许连续执行
[object Object]和[object Object]算子,且该通信域中不允许有其他通信算子。 [object Object]:调用本算子前需检查[object Object]环境变量取值是否合理,该环境变量表示单个通信域占用内存大小,单位MB,不配置时默认为200MB。要求满足[object Object]>= 2 * ([object Object]+[object Object])。其中[object Object]为输入[object Object]的数据大小,计算公式为:[object Object],[object Object]为[object Object]的数据大小,当量化方式为pertoken-pergroup量化时,计算公式为:[object Object],当量化方式为mx量化时,计算公式为:[object Object]。- H范围仅支持[1024, 8192],要求128对齐。
示例代码如下,仅供参考,具体编译和执行过程请参考编译与运行样例。
Atlas 350 加速卡:
[object Object]