为什么 GPU 比 CPU 更快?我读过一些文章,说 GPU 破解密码的速度比 CPU 快得多。如果是这样的话,那么为什么 CPU 不能像 GPU 一样设计成速度均匀呢?
GPU 的设计只有一个目标: 快速处理图形。因为这是他们唯一关心的问题,所以已经有一些专门的优化,允许某些计算比传统处理器快得多。
在密码破解(或者分子动力学“ 在家折叠”项目)的例子中,程序员已经找到了利用这些优化过程的方法,以更快的速度处理密码之类的事情。
与图形处理器相比,标准 CPU 必须执行更多不同的计算和处理类型,因此它们不能以类似的方式进行优化。
GPU 的速度是有代价的。单个 GPU 核心的工作速度实际上比单个 CPU 核心慢得多。例如,费米 GTX 580有一个772兆赫的核心时钟。你不会希望你的中央处理器有这么低的核心时钟现在..。 然而,GPU 有几个核心(最多16个) ,每个核心在32宽 SIMD 模式下运行。这使得500个操作同时进行。然而,普通的 CPU 有多达4或8个核心,并且可以在4-wide SIMD 中操作,从而提供更低的并行性。
某些类型的算法(图形处理、线性代数、视频编码等等)。.)可以很容易地在如此大量的内核上并行化。破解密码就属于这一类。 然而,其他算法真的很难并行化。在这个领域有正在进行的研究... ... 如果这些算法在 GPU 上运行,它们将真正执行 很严重。
CPU 公司现在正试图在不牺牲运行单线程程序的能力的前提下实现 GPU 的并行性。但这项任务并不容易。Larabee 项目(目前已经废弃)就是这些问题的一个很好的例子。英特尔已经在这方面努力了很多年,但是仍然没有在市场上出现。