Why are GPUs more powerful than CPUs [closed]

旧巷老猫 提交于 2019-12-02 17:24:15

GPUs are designed with one goal in mind: process graphics really fast. Since this is the only concern they have, there have been some specialized optimizations in place that allow for certain calculations to go a LOT faster than they would in a traditional processor.

In the case of password cracking (or the molecular dynamic "folding at home" project) what has happened is that programmers have found ways of leveraging these optimized processes to do things like crunch passwords at a faster rate.

Your standard CPU has to do a lot more different calculation and processing types that what graphics processors do, so they can't be optimized in a similar manner.

GPU get their speed for a cost. A single GPU core actually works much slower than a single CPU core. For example, Fermi GTX 580 has a core clock of 772MHz. You wouldn't want your CPU with such a low core clock nowdays... The GPU however has several cores (up to 16) each operating in a 32-wide SIMD mode. That brings 500 operations done in parallel. Common CPUs however have up to 4 or 8 cores, and can operate in 4-wide SIMD which gives much lower parallelism.

Certain type of algorithms (graphics processing, linear algebra, video encoding etc...) can be easily parallelised on such huge number of cores. Breaking passwords falls into that category. Other algorithms however are really hard to parallelise. There is an ongoing research in this area... Those algorithms would perform really badly if they were run on the GPU.

The CPU companies are now trying to approach the GPU parallelism without sacrificing the capability of running single-threaded programs. But the task is not an easy one. The Larabee project is a good example of the problems. Intel has been working on it for years but it is still not available on the market.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!