Cuda 解释GPGPU相对于CPU的能效?

Cuda 解释GPGPU相对于CPU的能效?,cuda,opencl,gpgpu,energy,Cuda,Opencl,Gpgpu,Energy,我听过这样一种说法,对于许多应用来说,GPU比多核CPU更节能,特别是在图形硬件得到充分利用的情况下。我很难找到论文、文章或任何描述导致这种说法的特定体系结构特征的东西,或者一项直接比较GPU和CPU在一组基准上的能耗的科学研究。有谁能对这一说法的支持提供更多的见解,或者给我指出一些有证据支持这一说法的研究 如果非要我猜的话,我会说这主要是由于GPU时钟频率较低造成的。此外,本文件: 这表明部分原因是GPU更快地解决了问题,因此,即使GPU的峰值功耗更高,他们在该级别上花费的时间也比CPU短得多

我听过这样一种说法,对于许多应用来说,GPU比多核CPU更节能,特别是在图形硬件得到充分利用的情况下。我很难找到论文、文章或任何描述导致这种说法的特定体系结构特征的东西,或者一项直接比较GPU和CPU在一组基准上的能耗的科学研究。有谁能对这一说法的支持提供更多的见解,或者给我指出一些有证据支持这一说法的研究

如果非要我猜的话,我会说这主要是由于GPU时钟频率较低造成的。此外,本文件:

这表明部分原因是GPU更快地解决了问题,因此,即使GPU的峰值功耗更高,他们在该级别上花费的时间也比CPU短得多,以解决正确的问题。还有人能补充什么吗


谢谢

通常,这些声明是通过比较GFLOPs性能和估计每个浮点操作的功率来支持的,如post中所示。但这基本上就是你在最后一句话中写的


您还必须考虑到CPU和GPU体系结构针对不同的问题。虽然至少在x86上的CPU内核有很深的管道、很大的指令集和非常复杂的缓存策略来应对各种各样的问题,但GPU内核相当简单,因此消耗的电力要少得多。为了弥补这一点,GPU中的计算核心要比CPU中的多得多。但是您可能已经知道了。

通常,这些声明是通过比较GFLOPs性能和估计每个浮点操作的功率来支持的,如post中所示。但这基本上就是你在最后一句话中写的


您还必须考虑到CPU和GPU体系结构针对不同的问题。虽然至少在x86上的CPU内核有很深的管道、很大的指令集和非常复杂的缓存策略来应对各种各样的问题,但GPU内核相当简单,因此消耗的电力要少得多。为了弥补这一点,GPU中的计算核心要比CPU中的多得多。但是你可能已经知道了;答:与cpu相比,gpu中的晶体管更多地用于计算

当今CPU的大功率效率杀手是在芯片上进行通用计算的权衡。无论是RISC、x86还是其他cpu体系结构,都有专用于cpu通用用途的额外硬件。这些晶体管需要电,尽管它们没有做任何实际的数学运算

快速CPU需要先进的分支预测硬件和大型缓存,以避免长时间的处理,这些处理可能在以后的管道中被丢弃。在大多数情况下,cpu在每个cpu核上一次执行一条指令,SIMD也可以帮助cpu……并且非常好地处理各种情况。GPU依赖于对许多数据段执行相同的SIMD/vector操作,在“if”和“for”语句中发现的简单条件下,GPU会受到很大的影响

还有很多硬件用于获取、解码和调度指令——这对于CPU和GPU来说是正确的。这个巨大的区别在于,对于gpu来说,获取+解码+调度晶体管与计算晶体管的比率往往要高得多

这是AMD 2011年的一个演示,介绍了他们的GPU是如何随着时间的推移而变化的,但这确实适用于大多数GPU。通过了解GPU如何在某些计算方面如此出色的历史,它帮助我理解了GPU的强大优势


我刚才回答了一个类似的问题

TL;答:与cpu相比,gpu中的晶体管更多地用于计算

当今CPU的大功率效率杀手是在芯片上进行通用计算的权衡。无论是RISC、x86还是其他cpu体系结构,都有专用于cpu通用用途的额外硬件。这些晶体管需要电,尽管它们没有做任何实际的数学运算

快速CPU需要先进的分支预测硬件和大型缓存,以避免长时间的处理,这些处理可能在以后的管道中被丢弃。在大多数情况下,cpu在每个cpu核上一次执行一条指令,SIMD也可以帮助cpu……并且非常好地处理各种情况。GPU依赖于对许多数据段执行相同的SIMD/vector操作,在“if”和“for”语句中发现的简单条件下,GPU会受到很大的影响

还有很多硬件用于获取、解码和调度指令——这对于CPU和GPU来说是正确的。这个巨大的区别在于,对于gpu来说,获取+解码+调度晶体管与计算晶体管的比率往往要高得多

这里 这是AMD 2011年的一次演示,介绍了他们的GPU是如何随时间而变化的,但这确实适用于大多数GPU。通过了解GPU如何在某些计算方面如此出色的历史,它帮助我理解了GPU的强大优势


我刚才回答了一个类似的问题

我认为这不应该关闭。不过,我认为这符合你的想法,如果你的动机是“我希望别人向我解释”,那么你可能就没事了。罗杰,是的,我同意。我想我把它表述为一个解释的请求,包括了我迄今为止发现的信息。我猜管理员不同意。如果问题中没有代码,他们会非常高兴。我不认为这正是StackExchange的人想要的。@agrippa这里有一个非常合适的链接,它调查了许多比较CPU和GPU能效的论文。我认为这不应该被关闭。不过,我认为这符合你的想法,如果你的动机是“我希望别人向我解释”,那么你可能就没事了。罗杰,是的,我同意。我想我把它表述为一个解释的请求,包括了我迄今为止发现的信息。我猜管理员不同意。如果问题中没有代码,他们会非常高兴。我不认为这正是StackExchange的人想要的。@agrippa这里有一个非常合适的链接,它调查了许多比较CPU和GPU能效的论文。多亏了mfa,我没有考虑到晶体管的附加功耗与CPU中的应用程序执行没有直接关系,这显然似乎是一个因素。谢谢你的链接!多亏了mfa,我没有考虑到晶体管的额外功耗与CPU中的应用程序执行没有直接关系,这显然是一个因素。谢谢你的链接!