该AIV需要等待Arrive组全部完成任务,再开始执行任务。
1 | __aicore__ inline void Wait(uint32_t waitIndex) |
参数 |
输入/输出 |
说明 |
---|---|---|
index |
输入 |
该AIV在Wait组的序号。范围为[0, waitSize - 1]。 |
无。
Atlas A2训练系列产品/Atlas 800I A2推理产品
该接口支持在循环中使用,但是受限于多核间通信效率要求,循环最大次数不超过1,048,575次。
1 2 3 | AscendC::GroupBarrier<AscendC::PipeMode::MTE3_MODE> barA(startAddr, 3, 6); // 6个AIV等3个AIV Arrive后再开始后续业务,总共花费6 * 512B,起始地址为startAddr barA.Wait(1); // Wait组的6个AIV中的第二个AIV需要等待Arrive组AIV做完任务 // vector计算 |