是否可以同步CUDA流以执行多部分计算?

时间:2020-09-12 11:40:13

标签: cuda

我正在尝试模拟一个尖峰神经网络,该网络需要两个独立的内核,一个运行感觉神经元的内核和一个运行中间神经元的第二个内核。我试图避免在主机上重复启动2个内核的开销,并且我希望这两个内核能够通过使用全局内存轮流进行交互。

因为不可能异步运行2个内核,所以我一直在研究CUDA中的流和事件,并且我试图弄清楚是否可以进行流间通信,其中一个流将被阻止,直到另一个流结束,然后它们交换。

我一直在浏览cudaStreamWaitEvent之类的函数的文档,但是从我可以找到的示例中,看来这种同步级别只能通过在主机上进行调用来实现(这违背了目的) 。 我还研究了动态并行性,它比重复进行主机内核调用要好得多,但是通过使用流,我可以避免重复进行内核一起启动的开销。

CUDA是否支持运行两个单独的流的功能,它们可以阻塞自己,直到另一个流触发事件为止?

0 个答案:

没有答案