下载
中文
注册

CrossCoreWaitFlag(ISASI)

功能说明

面向分离架构的核间同步控制接口。该接口和CrossCoreSetFlag接口配合使用。具体使用方法请参考CrossCoreSetFlag

函数原型

1
2
template <uint8_t modeId, pipe_t pipe>
__aicore__ inline void CrossCoreWaitFlag(uint16_t flagId)

参数说明

表1 模板参数说明

参数名

描述

modeId

核间同步的模式,取值范围为0~2。

  • 模式0:AI Core核间的同步控制。
  • 模式1:AI Core内部,Vector核(AIV)之间的同步控制。
  • 模式2:AI Core内部,Cube核(AIC)与Vector核(AIV)之间的同步控制。

pipe

设置这条指令所在的流水类型,流水类型可参考硬件流水类型

表2 参数说明

参数名

输入/输出

描述

flagId

输入

核间同步的标记。

Atlas A2 训练系列产品/Atlas 800I A2 推理产品,取值范围是0-10。

返回值

支持的型号

Atlas A2 训练系列产品/Atlas 800I A2 推理产品

约束说明

  • CrossCoreWaitFlag必须与CrossCoreSetFlag接口配合使用,避免计算核一直处于阻塞阶段。
  • 如果执行CrossCoreWaitFlag时该flagId的计数器的值为0,则CrossCoreWaitFlag之后的所有指令都将被阻塞,直到该flagId的计数器的值不为0。同一个flagId的计数器最多设置16次。

调用示例

请参考调用示例