关于Stream间任务的同步等待
调用接口后,需增加异常处理的分支,并记录报错日志、提示日志,此处不一一列举。以下是关键步骤的代码示例,不可以直接拷贝编译运行,仅供参考。
#include "acl/acl.h" //...... //创建一个Event aclrtEvent event; aclrtCreateEvent(&event); //创建两个Stream aclrtStream s1; aclrtStream s2; aclrtCreateStream(&s1); aclrtCreateStream(&s2); //在s1末尾添加了一个event aclrtRecordEvent(event, s1); //阻塞s2运行,直到指定event发生,也就是s1执行完成 //s1完成后,唤醒s2,继续执行s2的任务 aclrtStreamWaitEvent(s2, event); //显式销毁资源 aclrtDestroyStream(s2); aclrtDestroyStream(s1); aclrtDestroyEvent(event); //......
父主题: 同步等待