我们可以通过使用GPU函数计算CPUparfor
或spmd
块的某些部分来提高性能gpuArray
吗?这是提高性能的一种合理方法还是此过程存在局限性?我读过某个地方,当我们有一些GPU单元时,可以使用此过程。除了CPU并行循环,这是我们使用GPU计算的唯一方法吗?
gpuArray
在parfor
循环或spmd
块内使用可能会给您带来性能上的好处,但实际上这取决于几个因素:
因此,如果您的计算机中有两个高性能GPU,并在并行池中运行了两个工作线程,而这个问题可能会使单个GPU完全被占用,那么您会期望得到很好的加速。如果您经营4名工人,您可能仍会获得不错的提速。
我建议的一件事是:如有可能,请尝试避免将gpuArray
数据从客户端传输到工作程序,因为这比通常的数据传输要慢(gpuArray
首先将数据传输gather
到CPU,然后在工作程序上重新构造)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句