ffts_cross_core_sync
功能说明
该指令用于发送同步信息数据到FFTS(地址由FFTS_BASE_ADDR寄存器确定),设置同步点。
函数原型
void ffts_cross_core_sync(pipe_t pipe, uint64_t config);
参数说明
参数名 |
说明 |
取值范围 |
单位 |
---|---|---|---|
pipe |
表示同步点在哪个pipeline中,当该pipeline前面所有指令执行完毕后到达同步点 |
/ |
/ |
config |
包含了同步mode和同步ID,0x1 | (mode << 4) | (flagID << 8) |
mode范围为[0, 2] flagID范围为[0,15] |
/ |
共有三种硬同步模式:
- mode 0: 所有用到的AIC直接进行同步或所有AIV间进行同步。适用场景为所有核分别计算中间结果后,由一个核进行reduce运算。
- mode 1: 同一个Group下的AIV间同步。
- mode 2: 同一个Group下的AIC和AIV间同步。多用于AIC/AIV分别负责算子执行中的不同子流程(有严格顺序要求)。
流水类型
PIPE_S
父主题: Vec与Cube核间同步