昇腾社区首页
中文
注册

同步&异步API说明

CANN支持以下几类显式同步,调用此类接口后,主机线程会阻塞直到相关的任务执行完成。

  • 设备同步:acl.rt.synchronize_device

    阻塞当前主机线程直到Device上所有显式或隐式创建的Stream都完成所有先前下发的任务。应该尽量少使用该函数,以免拖延主机运行。

  • 流同步:acl.rt.synchronize_stream

    阻塞当前主机线程直到指定的Stream中完成所有下发的任务。

  • 事件同步:acl.rt.synchronize_event

    阻塞当前主机线程直到指定的Event事件完成。属于更细粒度的同步。

对于异步接口,主机线程调用异步接口后仅代表下发任务,在任务未完成前,函数就已经返回给主机线程。用户需要调用以上显式同步接口阻塞主机线程,等待任务完成。