FusedAddTopkDivOperation
 支持通过C接口直调接入PyTorch,在整网中进行亲和算子替换。
定义
atb::Status AtbFusedAddTopkDivGetWorkspaceSize(const aclTensor *x, const aclTensor *addNum, const aclTensor *mappingNum,
                                               const aclTensor *mappingTable, uint32_t groupNum, uint32_t groupTopk,
                                               uint32_t n, uint32_t k, int activationType, bool isNorm, float scale,
                                               bool enableExpertMapping, aclTensor *y, aclTensor *indices,
                                               uint64_t *workspaceSize, atb::Operation **op, atb::Context *context);
atb::Status AtbFusedAddTopkDiv(void *workspace, uint64_t workspaceSize, atb::Operation *op, atb::Context *context);
AtbFusedAddTopkDivGetWorkspaceSize成员
参数  | 
标量/张量  | 
维度  | 
数据类型  | 
格式  | 
默认值  | 
是否必选  | 
描述  | 
|---|---|---|---|---|---|---|---|
x  | 
张量  | 
[batch_size, expert_num]  | 
float16/float32/bf16  | 
ND  | 
-  | 
是  | 
输入tensor。  | 
addNum  | 
张量  | 
[expert_num]  | 
float16/float32/bf16  | 
ND  | 
-  | 
是  | 
输入tensor,用于与x相加。数据类型和格式与x一致。  | 
mappingNum  | 
张量  | 
[expert_num]  | 
int32  | 
ND  | 
-  | 
否  | 
enableExpertMapping为false时不启用,true时输入tensor,每个物理专家被实际映射到的逻辑专家数量。  | 
mappingTable  | 
张量  | 
[expert_num, max_redundant_expert_num]  | 
int32  | 
ND  | 
-  | 
否  | 
enableExpertMapping为false时不启用,true时输入tensor,物理专家/逻辑专家映射表。  | 
groupNum  | 
标量  | 
-  | 
uint32_t  | 
-  | 
1  | 
是  | 
分组数量。  | 
groupTopk  | 
标量  | 
-  | 
uint32_t  | 
-  | 
1  | 
是  | 
选择k个组。  | 
n  | 
标量  | 
-  | 
uint32_t  | 
-  | 
1  | 
是  | 
组内选取n个最大值求和。  | 
k  | 
标量  | 
-  | 
uint32_t  | 
-  | 
1  | 
是  | 
topk选取前k个值。  | 
activationType  | 
标量  | 
-  | 
int  | 
-  | 
8  | 
是  | 
激活类型。 仅支持8:ACTIVATION_SIGMOID。  | 
isNorm  | 
标量  | 
-  | 
bool  | 
-  | 
true  | 
是  | 
是否归一化。  | 
scale  | 
标量  | 
-  | 
float  | 
-  | 
1.0  | 
是  | 
归一化后的乘系数。  | 
enableExpertMapping  | 
标量  | 
-  | 
bool  | 
-  | 
false  | 
是  | 
是否使能物理专家向逻辑专家的映射。false时输入2个tensor,true时输入4个tensor。  | 
y  | 
张量  | 
[batch_size, k]  | 
float32  | 
ND  | 
-  | 
是  | 
输出tensor。  | 
indices  | 
张量  | 
[batch_size, k]  | 
int32  | 
ND  | 
-  | 
是  | 
输出tensor。  |