后生的GPU为何浮点运算性能远超CPU
来源:华强电子网 作者:—— 时间:2013-01-28 15:34
在摩尔定律尚成立的时代,出现晚的处理器正应该对应更高的FLOPS(原因是更高的运算电路密度 更高的时钟频率和更多的处理器内核)。
02年GPU出现伊始,其浮点运算性能和当时的CPU差别并不大,之后的将近十年,CPU处理器的发展遇到了瓶颈(电路密度由于制造工艺而无法大幅优化 时钟频率由于高功耗也无法进一步提升 多核由于其他方面的消耗 并未使运算效率线形提升),摩尔定律逐渐开始失效,然而计算机图形学这个应用领域却非常适合单指令多数据/线程(SIMD/SIMT)的并行化。因此,GPU在图形及通用并行计算方面都取得了飞速的发展。
相对于传统CPU中单处理器支持单个硬件线程的架构,基于众核架构的GPU采用一个处理器支持多个硬件线程的做法,这方面的介绍在Berkeley和Stanford的有关并行计算的课程上都有讲到(http://www、cs、berkeley、edu/~demmel/cs267_Spr11/ http://code、google、com/p/stanford-cs193g-sp2010/wiki/ClassSchedule)。
NV自2007年开始推出CUDA至今,已经发展出了一套完整的二级并行架构。其中一簇执行同样指令的线程组成一个kernel,kernel又组合成一个block,在block级别有共享内存和其他的供线程间通信合作的机制。形象地说,这里的线程就是一个虚拟的向量处理器,其中包括自己的寄存器,程序计数器(PC)等,而一个block就是一个虚拟的多核处理器,其中包含多个线程和共享内存等。
造成GPU和CPU根本差别的原因在于不同的目标需求:GPU假设运行其上的工作都是高度可并行的,而CPU需要同时很好的支持并行和顺序操作。于是,CPU需要大的片上缓存和复杂的控制逻辑,GPU则利用多线程并行运行节省了片上的大缓存,同时针对一簇线程执行同一套控制逻辑。
因此,在高度并行化且数据规模巨大的应用下,GPU可以获得很高的浮点运算性能,然而如果问题无法良好映射到某个合适的并行模型或当数据规模较小时,SIMT就无法发挥并行的优势,CPU与GPU之间的数据交换也会大大降低运算效率。不过,后一个问题在刚刚发布的CUDA4.0中已经通过GPUDirect2.0得到了改进)。
- •Vishay推出的新款浪涌限流PTC热敏电阻可提高有源充放电电路性能2024-03-06
- •Cadence 推出全新数字孪生平台 Millennium Platform,提供超高性能和高能效比2024-02-02
- •英伟达今年GPU模组出货将翻倍!超400万个2024-01-10
- •Melexis推出新款微型3D磁力计,拓展性能极限2023-12-13
- •大量GPU急单涌入!台积电5nm产能利用率接近满负荷2023-05-26
- •Qorvo 为 1.8 GHz DOCSIS 4.0 线缆应用带来出众性能2023-05-24
- •涨幅37%!英伟达GPU持续缺货涨价!2023-05-15
- •兆易创新推出GD32H737/757/759系列Cortex-M7内核超高性能MCU2023-05-11
- •艾迈斯欧司朗推出新型光电二极管,为可穿戴设备生命体征监测应用提供出众性能2023-04-13
- •SA:随着汽车摄像头需求增加,性能要求也在增加2022-12-15