基本原理
同步机制
AscendCL提供以下几种同步机制:
- Event的同步等待:调用aclrtSynchronizeEvent接口,阻塞应用程序运行,等待Event完成。
- Stream内任务的同步等待:调用aclrtSynchronizeStream接口,阻塞应用程序运行,直到指定Stream中的所有任务都完成。
- Stream间任务的同步等待:调用aclrtStreamWaitEvent接口,阻塞指定Stream的运行,直到指定的Event完成。支持多个Stream等待同一个Event的场景。接口调用流程请参见多Stream接口调用流程。
- Device的同步等待:调用aclrtSynchronizeDevice接口,阻塞应用程序运行,直到正在运算中的Device完成运算。多Device场景下,调用该接口等待的是当前Context对应的Device。接口调用流程请参见多Device切换。
父主题: 同步等待