突破传统 GPU的普及加速HPC发展

经过38年的快速发展,传统微处理器技术的收益开始递减,提高时钟速度和架构复杂的步伐正在放缓,随着单线程性能不断提高,重点已转移到多核设计。

这些也限制了个人电脑的发展,四核CPU的价格是双核CPU的两倍,性价比不高,在未来的个人电脑里,更高核心的芯片不太可能成为有价值的驱动力,

CPU永远不会消失,但GPU在PC系统架构中的作用将更加突出,GPU更具成本效益和能源效率,能为应用程序提供更好的性能表现。

GPU的迅速普及,也使它们成为高性能计算(HPC)的自然选择,游戏和其它消费应用每年创造了数百万高端GPU的需求,如此大的市场需求,促使NVIDIA这样的公司为HPC市场更快提供相关产品。

NVIDIA的下一代CUDA架构(代号Fermi)是这一趋势最新,最主要的表达,运行并行软件,与任何传统CPU相比,性能高出数倍,新功能也使得软件开发人员更容易利用硬件的全部潜力,基于Fermi的GPU将把超级计算带给更多用户,比以往任何时候都要多。

Fermi是第一个为大部分吃力的HPC应用程序交付所需功能的架构,如不匹配的双精度浮点性能,IEEE 754-2008遵从,从寄存器到DRAM的ECC保护,简单的线性寻址模型,支持多种编程语言,包括 C,C++,FORTRAN,Java,Matlab和Python。

有了这些功能,加上其它许多功能和可用性增强,Fermi是第一个完整的GPU计算架构。

CPU计算——伟大的传统

微处理器过去的38年是技术进步最大的时期,摩尔定律描述了这种进步的速度,在交通运输、农业和机械工程领域都没有如此快的进步,想想300年前的 工业革命有什么不同,例如,从1771搭配1809年,结构材料的强度每18个月就会增加一倍,再看看蒸汽,19世纪就已经出现豌豆大小的内燃机,压缩氢 产生核聚变进行发电。

CPU性能是许多相关进步的产物:

晶体管的密度增加

更强的晶体管性能

更宽的数据通路

流水线技术

超标量执行

推测执行

缓存

芯片和系统级集成

微处理器的第一个30年几乎完全侧重于串行工作负载:编译器,管理串行通信链接,用户界面代码等等。最近,CPU的发展已可以满足金融交易处理,计 算流体力学并行工作负载的需求。CPU非常了不起,它们很容易进行编程 ,因为编译器演变到可以和硬件一起运行,软件开发人员可以忽略大多数现代CPU的复杂性,微架构几乎是无形的,编译器像魔法一样将其隐藏起来,多核芯片和 之前的多处理器系统软件架构是相同的:一个简单连贯的内存模型和相同的计算引擎海洋。 

 
图1

CPU核心单线程性能在并行执行时继续得到优化,整数和浮点执行单元只占现代CPU芯片面积很小的一部分。图1显示了酷睿i7处理器中ALU使用的面积部分(芯片代号Bloomfield),基于Intel的Nehalem微架构。

图1 Intel的酷睿i7处理器(芯片代号Bloomfield,基于Intel的Nehalem微架构)包括四个CPU核心,同步多线程,8MB三级缓存, 片上DRAM控制器,使用45nm工艺技术制造,每个芯片上有731万个晶体管,热设计功耗是130W,红色轮廓突出显示了每个核心部分所占用的执行单元 (资料来源:Intel公司。红色突出显示除外)

只有这么一小部分芯片投入直接计算,因此CPU对高性能计算应用来说相对低效一点也不奇怪,大多数电路在CPU上,因此它会产生大部分热量,无形中增加了复杂性,那些缓存,指令解码器,分支预测器和其它功能架构是不可见的,但它可以增强单线程性能。