为什么常识

GPU 出现得远比 CPU 晚,其浮点运算性能却远远强于 CPU?

生活词典 changshi.cidiancn.com

阅读: 243

为什么 GPU 出现得远比 CPU 晚,其浮点运算性能却远远强于 CPU?GTX295峰值极限浮点性能测试 - 实测823GFlops11 个答案

答案 1:

在摩尔定律尚成立的时代,出现晚的处理器正应该对应更高的FLOPS(原因是更高的运算电路密度 更高的时钟频率和更多的处理器内核)。02年GPU出现伊始,其浮点运算性能和当时的CPU差别并不大,之后的将近十年,CPU处理器的发展遇到了瓶颈(电路密度由于制造工艺而无法大幅优化 时钟频率由于高功耗也无法进一步提升 多核由于其他方面的消耗 并未使运算效率线形提升),摩尔定律逐渐开始失效,然而计算机图形学这个应用领域却非常适合单指令多数据/线程(SIMD/SIMT)的并行化。因此,GPU在图形及通用并行计算方面都取得了飞速的发展。相对于传统CPU中单处理器支持单个硬件线程的架构,基于众核架构的GPU采用一个处理器支持多个硬件线程的做法,这方面的介绍在Berkeley和Stanford的有关并行计算的课程上都有讲到(.cs.berkeley.edu/~demmel/cs267_Spr11/ code.google/p/stanfo...)。NV自2007年开始推出CUDA至今,已经发展出了一套完整的二级并行架构。其中一簇执行同样指令的线程组成一个kernel,kernel又组合成一个block,在block级别有共享内存和其他的供线程间通信合作的机制。形象地说,这里的线程就是一个虚拟的向量处理器,其中包括自己的寄存器,程序计数器(PC)等,而一个block就是一个虚拟的多核处理器,其中包含多个线程和共享内存等。造成GPU和CPU根本差别的原因在于不同的目标需求:GPU假设运行其上的工作都是高度可并行的,而CPU需要同时很好的支持并行和顺序操作。于是,CPU需要大的片上缓存和复杂的控制逻辑,GPU则利用多线程并行运行节省了片上的大缓存,同时针对一簇线程执行同一套控制逻辑。因此,在高度并行化且数据规模巨大的应用下,GPU可以获得很高的浮点运算性能,然而如果问题无法良好映射到某个合适的并行模型或当数据规模较小时,SIMT就无法发挥并行的优势,CPU与GPU之间的数据交换也会大大降低运算效率。不过,后一个问题在刚刚发布的CUDA4.0中已经通过GPUDirect2.0得到了改进)。

答案 2:

楼上王洋子豪已经讲的很详细了,这里我补充一点,就是如果硬件用于计算规整的,并行度高的算法,那么很容易针对算法进行优化,而通用算法则因为其顺序执行,而执行顺序的高度不确定性,无法有效的进行优化。在现代处理器工艺上,处理器比内存的速度高3个数量级是很正常的事情。由于程序和数据主要存在内存,因此CPU很多时候是在等待内存提供下一步需要的数据和代码。另外,因为CPU的工作主要是顺序执行,在某一步的结果没有计算出来之前,下一步计算就很难继续,缺乏并行性是限制CPU性能的重要因素。因此GPU的浮点性能高于CPU,主要是得益于其所处理的算法和数据的特性。

答案 3:

晚出来的架构方面也会更有优势啊,没记错的话,GPU是并行计算,流水线短,并且GPU专门对图形计算做了优化

答案 4:

CPU除了负责浮点整形运算外,还有很多其他指令集的负载,比如多媒体-,硬件-等,所以CPU是个多才多艺的东东,而GPU基本上就是只做浮点运算的,因为他只做浮点运算,设计结构简单,所以可以做的更快另外显卡的GPU和单纯为了跑浮点高性能运算的GPU还不是太一样,显卡的GPU还要考虑配合图形输出显示等方面,而有些专用GPU设备就是一个PCI卡上面有一个强力浮点运算GPU,没有显示输出的,就是为了加快某些程序的浮点计算性能

答案 5:

我也想说一点题外引申的,就好比城市交通里,有公交线、有地铁线、有人行道、有天桥,交通的方式越是多样,管理越是复杂,东京是以地铁线复杂出名,欧洲是轨道交通,美国是公路交通,它们都是GPU,而-是个CPU

答案 6:

一般而言GPU的浮点计算精度是不行的,另外GPU通常采用超长指令级和超宽的内存总线实现在一个时钟周期之内完成多个并发计算,以此换取性能。

答案 7:

一个面团 加了豆沙变成豆包 加了肉馅变成肉包 需求不同

答案 8:

应用的侧重点不同..

答案 9:

导致GPU在某些运算上比CPU快的因素有很多,一种简单的理解方式:CPU上大量的晶体管被用来做Cac-e,而GPU上绝大部分晶体管被用来做ALU。用来做运算的晶体管多了,自然速度会快。但不是所有的并行运算在GPU上都快。需要满足一些限制条件才能充分发挥GPU的处理能力,比如内存访问的Pattern / Branc-的类型和数量。

答案 10:

技术上大家都介绍的差不多了,不过你问的很搞笑,出现的晚为啥不能比早的好或快啊? 飞机汽车出现的晚,多快啊!

答案 11:

对不起,看到这个题目,实在忍不住,实在忍不住,要水一下:余华《许三观-记》里的一句话,「-毛出得比眉毛晚,长得倒比眉毛长」我爽了,大家「没有帮助」我吧。

分享常识给亲友.

下一篇:微博产品到底是运营主导,还是产品和技术主导? 下一篇 【方向键 ( → )下一篇】

上一篇:淘宝是如何打假的? 上一篇 【方向键 ( ← )上一篇】