GPU如何比CPU更快?我读过有关GPU如何在破坏密码方面比CPU更快的文章。如果是这样的话那么为什么不能像GPU一样设计CPU以达到速度呢?
答案 0 :(得分:64)
GPU以成本获得速度。单个GPU核心实际上比单个CPU核心慢得多。例如,Fermi GTX 580的核心时钟为772MHz。你现在不希望你的CPU具有如此低的核心时钟...... 然而,GPU具有多个内核(最多16个),每个内核以32宽SIMD模式运行。这使得500个操作并行完成。但是,通用CPU最多可以有4个或8个内核,并且可以在4宽SIMD中运行,从而提供更低的并行性。
某些类型的算法(图形处理,线性代数,视频编码等)可以在如此庞大的内核上轻松并行化。破解密码属于该类别。 然而,其他算法很难并行化。这个领域正在进行研究......如果这些算法在GPU上运行,那么这些算法会非常 。
CPU公司现在正试图在不牺牲运行单线程程序的能力的情况下接近GPU并行性。但这项任务并不容易。 Larabee项目就是问题的一个很好的例子。英特尔多年来一直在研究它,但它仍然没有在市场上销售。
答案 1 :(得分:57)
GPU的设计考虑了一个目标:流程图形非常快。由于这是他们唯一关注的问题,因此已经进行了一些专门的优化,使某些计算的速度比传统处理器快得多。
在密码破解(或分子动态“folding at home”项目)的情况下,发生的事情是程序员已经找到了利用这些优化过程来执行诸如以更快的速度处理密码的方法。
您的标准CPU必须执行与图形处理器不同的计算和处理类型,因此无法以类似的方式对其进行优化。