AssignQueue
功能说明
分离架构下的AIV绑定CubeResGroupHandle中某一个消息队列的序号。
函数原型
1 | __aicore__ inline void AssignQueue(uint8_t queueIdIn) |
参数说明
参数 |
输入/输出 |
说明 |
---|---|---|
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); |
父主题: CubeResGroupHandle