我想知道是否使用多个 cuda 流,提供内核的并发执行?或者它只提供复制和内核执行的并发性?我正在寻找一种解决方案来执行多个并发内核。任何人都可以帮助我吗?
问问题
156 次
1 回答
1
大多数类型的异步并发执行都需要CUDA 流,主机/设备并发除外。Memcpy/compute 重叠和并发内核需要流。
许多人错误地认为他们可以使用并发内核执行来并行运行任意内核。但是并发内核执行通常仅在要执行的内核的资源使用量(块、寄存器、共享内存)很小时才可见。使用大量线程块、大量寄存器或大量共享内存的内核可能不会与其他内核同时运行——因为它自己在使用整个机器。
您可以通过研究和运行CUDA 示例代码中的并发内核示例来开始并发内核执行。
于 2013-08-27T13:13:08.970 回答