GPU如何比CPU更快?我读过一些文章,讨论GPU破解密码的速度比CPU快得多。如果是这种情况,那么为什么不能以与GPU相同的方式来设计CPU甚至达到速度?
Answers:
设计GPU时要牢记一个目标:真正快速地处理图形。由于这是他们唯一关心的问题,因此已经进行了一些专门的优化,这些优化使某些计算可以比传统处理器快很多。
在使用密码破解(或分子动力学的“在家折叠”项目)的情况下,程序员发现了利用这些优化过程以更快的速度处理密码的方法。
您的标准CPU必须执行与图形处理器不同的计算和处理类型,因此无法以类似的方式对其进行优化。
GPU的速度是有代价的。实际上,单个GPU内核的工作速度比单个CPU内核慢得多。例如,费米GTX 580的核心时钟为772MHz。如今,您不希望您的CPU具有如此低的内核时钟...但是,GPU具有几个内核(最多16个),每个内核都以32宽SIMD模式运行。并行执行500个操作。但是,常见的CPU最多具有4或8个内核,并且可以在4宽SIMD中运行,这会降低并行性。
某些类型的算法(图形处理,线性代数,视频编码等)可以很容易地在如此众多的内核上并行化。破解密码属于该类别。但是,其他算法实际上很难并行化。这个领域正在进行研究……如果这些算法在GPU上运行,它们的性能将会非常差。
CPU公司现在正在尝试在不牺牲运行单线程程序能力的情况下实现GPU并行性。但是这项任务并不容易。该Larabee项目(目前已放弃)是问题一个很好的例子。英特尔已经对此进行了多年努力,但仍未在市场上出售。