aclnnMoeInitRoutingV3
产品支持情况
功能说明
- [object Object]
计算公式:
1.对输入expertIdx做排序,得出排序后的结果sortedExpertIdx和对应的序号sortedRowIdx:
2.以sortedRowIdx做位置映射得出expandedRowIdxOut:
rowIdxType等于1时, 输出scatter索引
rowIdxType等于0时, 输出gather索引
3.对sortedExpertIdx的每个专家统计直方图结果,得出expertTokensCountOrCumsumOutOptional:
4.如果quantMode不等于-1, 计算quant结果:
- 静态quant
- 动态quant:
若不输入scale:
若输入scale:
5.若活跃的expert范围为全专家范围时,按照Scatter索引搬运token;反之按照Gather索引搬运token。在dropPadMode为1时将每个专家需要处理的Token个数对齐为expertCapacity个,超过expertCapacity个的Token会被Drop,不足的会用0填充。得出expandedXOut:
非量化场景
- 按照Scatter索引搬运
- 按照Gather索引搬运
量化场景
- 按照Scatter索引搬运
- 按照Gather索引搬运
6.expandedRowIdxOut的有效元素数量availableIdxNum,计算方式为expertIdx中activeExpertRangeOptional范围内的元素的个数
函数原型
每个算子分为,必须先调用 “aclnnMoeInitRoutingV3GetWorkspaceSize”接口获取入参并计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnMoeInitRoutingV3”接口执行计算。
aclnnMoeInitRoutingV3GetWorkspaceSize
参数说明:
[object Object]返回值
第一段接口完成入参校验,出现以下场景时报错:
[object Object][object Object]不同产品支持情况差异
- quantMode支持情况差异:
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]、[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]:支持-1、0、1。
- quantMode支持情况差异:
aclnnMoeInitRoutingV3
约束说明
确定性计算:
- aclnnMoeInitRoutingV3默认确定性实现。
该算子在以下产品型号上支持三种性能模板,需要分别额外满足准入条件,否则进入通用模板:
- 支持性能模板的产品:
- [object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品[object Object]
- [object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品[object Object]
- 性能模板的准入条件:[object Object]
- 支持性能模板的产品: