FusedAddTopkDivOperation
定义
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。 |
原始接口
父主题: atb/acl.h