我想知道是否有办法优化matlab函数gather
。我正在开发一个包含非常大的矩阵的Cuda代码,我注意到我必须用来恢复GPU数据的gather
函数非常慢。对于2 ^ 13x2 ^ 8矩阵,大约需要3秒钟!
答案 0 :(得分:3)
gpuArray.gather
的性能受PCI总线的限制。您只能通过收集较少的数据(例如使用索引)来优化此操作。请注意,在更新版本的Parallel Computing Toolbox中,许多操作都是异步的,但gather
不是 - 所以您可能只是看到异步请求完成的时间。您可以使用wait(gpuDevice)
进行检查以同步设备。