针对分离架构,AI Core上的Cube核(AIC)与Vector核(AIV)之间的同步等待指令。
每一个flagId对应一个计数器,初始值为0。使用CrossCoreWaitFlag指令设置flagId时,该flagId的计数器将减1。
__aicore__ inline void CrossCoreWaitFlag(uint16_t flagId)
参数名 |
输入/输出 |
描述 |
---|---|---|
flagId |
输入 |
核间同步的标记,取值范围是“0-15”。 |
无
Atlas A2训练系列产品/Atlas 800I A2推理产品
// 阻塞AIC核,直到AIV核设置计数器大于0 if (g_coreType == AIC) { CrossCoreWaitFlag(0x3); } else { // 采用模式2 CrossCoreSetFlag<0x2, PIPE_FIX>(0x3); }