Skip to content

当前为尝鲜版本,CANNBot-DSL 的 API 接口不保证兼容性,后续版本可能发生变更。

Kernel API:同步管理 ​

同步管理 API 用于协调 AIC 与 AIV 之间、以及不同 AI Core 之间的执行顺序。

适用范围 ​

片上内存(L1、UB、L0 等)的同步由 Channel 自动生成,框架自动管理; GM 等 workspace 上的同步可以使用本章节开放的同步接口。

能力概述 ​

接口 ​

接口所在核角色对应模式
cube_sync_block_arriveAIC生产者,负责发送通知模式 0、模式 2
cube_sync_block_waitAIC消费者,负责阻塞等待通知到达模式 0、模式 2
cube_sync_intra_arriveAIC生产者,负责向单个 AIV 发送通知模式 4
cube_sync_intra_waitAIC消费者,负责阻塞等待单个 AIV 的通知到达模式 4
global_sync_allAIC 与 AIV核间同步易用性接口,一次调用完成本次 kernel 启动内全部 AI Core 之间的同步模式 0 + 模式 2
vec_sync_block_arriveAIV生产者,负责发送通知模式 0、模式 1、模式 2
vec_sync_block_waitAIV消费者,负责阻塞等待通知到达模式 0、模式 1、模式 2
vec_sync_intra_arriveAIV生产者,负责向 AIC 发送通知模式 4
vec_sync_intra_waitAIV消费者,负责阻塞等待 AIC 的通知到达模式 4

本分类下接口的功能描述与术语参考 Ascend C 的 C API 文档。

CANNBot-DSL 开源项目文档