我有数千个 SYCL 内核要执行。cl::sycl::buffer
一旦这些内核中的每一个都完成了,我需要在所述内核写入的内容上执行一个函数。
我知道实现这一目标的方法是:
- 通过使用 RAII;必要的全局内存在销毁时被复制回主机
cl::sycl::buffer
- 通过构建主机
cl::sycl::accessor
(使用cl::sycl::access::target::host_buffer
)
这两种方法都是同步和阻塞的。cl::sycl::queue
在将内核提交到内核完成后立即执行的a 时,是否可以附加异步回调/延续?或者更好的是,C++2a 协程可以实现相同的功能吗?如果没有,是否为 SYCL 计划了这样的功能?