如何最快地将256字节的数据块从一个CUDA块传输到另一个? 还有一种比全局内存传输更快的方法吗?
答案 0 :(得分:0)
理论上,在计算能力> = 2.0的设备上,使用全局内存的块之间的传输可能非常快,因为全局内存事务使用L1和L2缓存。
但是,在块之间安全地传输内存的唯一方法是在单独的内核调用中启动这些块。然后,你失去了我刚才描述的理论优势,因为缓存是在调用之间刷新的。
在给定的内核调用中,您无法知道块的启动顺序。
在单独的内核调用启动的块之间传输数据是CUDA中的常见范例,如果有足够的计算工作要做,全局内存事务的延迟可以完全隐藏。