下载
中文
注册

AssignQueue

功能说明

分离架构下的AIV绑定CubeResGroupHandle中某一个消息队列的序号。

函数原型

1
__aicore__ inline void AssignQueue(uint8_t queueIdIn)

参数说明

表1 接口参数说明

参数

输入/输出

说明

queueIdIn

输入

在CubeResGroupHandle中消息队列的序号。

返回值

支持的型号

Atlas A2训练系列产品/Atlas 800I A2推理产品

约束说明

  • queueIdIn小于CubeResGroupHandle的消息队列总数msgQueueSize。
  • CubeResGroupHandle中的每一个消息队列都需要进行绑定,且不可重复绑定。

调用示例

1
2
3
4
5
6
7
8
AscendC::KfcWorkspace commMem(workspace); // 用户自行管理的workspace指针。
uint8_t blockStartIn = 0;
uint8_t blockSizeIn = 12;
uint8_t msgQueueSizeIn = 48;
AscendC::CubeResGroupHandle a = AscendC::CubeGroupHandle<CubeMsgBody>(commMem.GetMsgStart(), blockStartIn, blockSizeIn, msgQueueSizeIn commMem.GetEvtID);
// 当前总计有48个Block,每个Block的视角下,都与qk里的msgQueue进行了绑定,msgQueue每个Queue都被绑定,且没有重复绑定的情况。
auto queIdx = AscendC::GetBlockIdx();
qk.AssignQueue(queIdx);