这是最好的混合CPU-GPU,只有GPU,只有cpu实现大矩阵加法或矩阵乘法

  • 本文关键字:只有 实现 GPU 混合 CPU-GPU cpu gpu hybrid
  • 更新时间 :
  • 英文 :


如果有一个由混合CPU-GPU实现的矩阵加法应用程序(在CUDA中(即使用pthreads,其中每个线程在主机CPU和GPU中执行部分矩阵加法),例如,如果矩阵大小为1000,前500将由主机-CPU计算,其余的由GPU计算,基本上计算在CPU和GPU之间划分,所以这是最好的相比,CPU只计算和GPU只计算。请帮助我理解这个概念。

是否有任何分析工具可以帮助找到这三者之间的这种计算性能?我是新来的CUDA,所以任何帮助/指导将不胜感激。

谢谢!

CPU- gpu混合计算的问题是需要将结果返回到CPU上,这两者之间的延迟。如果你希望在GPU上做一些计算,并将结果返回到CPU上,那么从GPU上开始计算到将结果返回到CPU上可能会有几毫秒的延迟,因此在GPU上完成的工作量应该是显著的。或者在启动GPU计算和从GPU获得结果之间需要大量的CPU工作。执行1000个元素矩阵加法的工作量很小,因此您最好在CPU上执行整个计算。你也有在CPU之间来回传输数据的开销。GPU跨PCI总线增加了开销,因此需要在两者之间传输少量数据的计算更倾向于混合解决方案。

如果你从不需要从GPU读取结果到CPU,那么你就没有延迟问题。例如,你可以在GPU上进行n体模拟,并在GPU上执行可视化,因此不需要在CPU上进行结果。但是当你需要将模拟结果返回给CPU时,你必须处理延迟问题。

相关内容

最新更新