AllocMessage
产品支持情况
功能说明
AIV从消息队列里申请消息空间,用于存放消息结构体,返回当前申请的消息空间的地址。消息队列的深度固定为4,申请消息空间的顺序为自上而下,然后循环。当消息队列指针指向的消息空间为FREE状态时,AllocMessage返回空间的地址,否则循环等待,直到当前空间的状态为FREE。
函数原型
template <PipeMode pipeMode = PipeMode::SCALAR_MODE>
__aicore__ inline __gm__ CubeMsgType *AllocMessage()
参数说明
表 1 模板参数说明
返回值说明
当前申请的消息空间的地址。
约束说明
无
调用示例
auto queIdx = AscendC::GetBlockIdx();
handle.AssignQueue(queIdx);
auto msgPtr = handle.AllocMessage(); // 绑定队列后,从该队列中申请消息空间,消息空间地址为msgPtr。
