CrossCoreWaitFlag

功能说明

针对分离架构,AI Core上的Cube核(AIC)与Vector核(AIV)之间的同步等待指令。

每一个flagId对应一个计数器,初始值为0。使用CrossCoreWaitFlag指令设置flagId时,该flagId的计数器将减1。

函数原型

__aicore__ inline void CrossCoreWaitFlag(uint16_t flagId)

参数说明

表1 参数说明

参数名

输入/输出

描述

flagId

输入

核间同步的标记,取值范围是“0-15”。

返回值

支持的型号

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

约束说明

调用示例

// 阻塞AIC核,直到AIV核设置计数器大于0
if (g_coreType == AIC) {
    CrossCoreWaitFlag(0x3);
} else {
    // 采用模式2
    CrossCoreSetFlag<0x2, PIPE_FIX>(0x3);
}