Wait
产品支持情况
功能说明
在调用PostMessage或PostFakeMessage后,查询该消息是否已被AIC处理完。
函数原型
template <bool sync = true>
__aicore__ inline bool Wait(uint16_t offset)
参数说明
表 1 模板参数说明
|
表 2 接口参数说明
返回值说明
- true:当前消息已被AIC处理完。
- false:当前消息未被AIC处理完。
约束说明
无
调用示例
auto msgPtr = handle.AllocMessage(); // 在msgPtr指针这个位置,可以发送一个新消息
AscendC::CubeGroupMsgHead headA = {AscendC::CubeMsgState::VALID, 0};
AscendC::CubeMsgBody msgA = {headA, 1, 0, 0, false, false, false, false, 0, 0, 0, 0, 0, 0, 0, 0};
auto offset = handle.PostMessage(msgPtr, msgA); // 在msgPtr指针位置,填充用户自定义的消息结构体,并发送
bool waitState = handle.template Wait<true>(offset); // 等待AIC处理完msgA
// 假消息场景
auto msgFakePtr = handle.AllocMessage();
offset = handle.PostFakeMsg(msgFakePtr);
bool waitState = handle.template Wait<true>(offset); // 等待AIC处理完假消息msgFake