CrossCoreWaitFlag
功能说明
面向分离架构的核间同步控制接口。该接口和CrossCoreSetFlag接口配合使用。具体使用方法请参考CrossCoreSetFlag。
函数原型
1 2 | template <uint8_t modeId, pipe_t pipe> __aicore__ inline void CrossCoreWaitFlag(uint16_t flagId) |
参数说明
参数名 |
描述 |
---|---|
modeId |
核间同步的模式,取值范围为0~2。
|
pipe |
设置这条指令所在的流水类型,不支持PIPE_S和PIPE_ALL。 流水类型可参考表1。 |
参数名 |
输入/输出 |
描述 |
---|---|---|
flagId |
输入 |
核间同步的标记,取值范围是0-10。 |
返回值
无
支持的型号
Atlas A2训练系列产品/Atlas 800I A2推理产品
约束说明
- CrossCoreWaitFlag必须与CrossCoreSetFlag接口配合使用,避免计算核一直处于阻塞阶段。
- 如果执行CrossCoreWaitFlag时该flagId的计数器的值为0,则CrossCoreWaitFlag之后的所有指令都将被阻塞,直到该flagId的计数器的值不为0。同一个flagId的计数器最多设置16次。
调用示例
请参考调用示例。
父主题: 同步控制