昇腾社区首页
中文
注册

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。