原创 GPGPU:CPU门口的野蛮人?

2008-3-17 14:19 6316 10 12 分类: 工程师职场


离飞思卡尔CTO Lisa T.Su在他们的FTF大会上发表有关“半导体竞争的关键在于能否从‘频率’以外的地方寻找并实现差异化技术”的观点不到两个月,我在北京的一场有关NVIDIA GPU技术讲解会的现场再次听到了类似的观点。不同之处在于,Lisa T.Su对“差异化技术”的定义重点落在“多核处理器”上,而NVIDIA的专家强调的则是GPU在通用计算领域令人惊讶的“可能性”。


NVIDIA有关专家对GPU同CPU在计算性能上的性能比较似乎让人再次感受自去年开始的“GPGPU同CPU竞争愈演愈烈”的话题,CPU的传统领域正在遭遇强悍的挑战……但显然,NVIDIA还并不想过早地让人们认为GPU想要取代CPU,并且非常小心地澄清了二者应用领域的不同。


从硬件到软件的改变


这种事情(取代CPU)是否会发生呢?也许我们该看看GPU是如何从着色器变成完全可编程处理器的。早在2002年,GPU供应商就将32位浮点技术搭载在GPU中,期待研究人员和开发人员会将GPU超强的计算能力用于应用程序而不是图形。但早期的GPU是用类似OpenGL或Cg的图形API编程的,这些API很难且大多数开发人员也不熟悉,另外,由于GPU内部缓存远远小于CPU,它只能执行预定好的任务,并不能像CPU那样去执行自定义的任务,所以尽管GPU浮点运算速度要远远高于CPU,但它还不能染指CPU的领域。


但2006年出现在G8系列GPU的CUDA技术让形势出现了转变——从G80开始,传统的GPU管线模型被改变(统一构架可以动态分配渲染单元),使得它能以可编程处理进行工作。起先,我把NVIDIA的CUDA技术理解为一种应用于GPU的动态负载平衡技术,但更准确的定义应该是“CPU+GPU工作模式的可编程软件环境”——我相信,CPU和GPU的界线正由此变得模糊。


Andy Keane是NVIDIA GPU计算事业部总经理,他对此更为清晰的定义是:CUDA不仅仅用于GPU编程,CUDA环境能够统一串行CPU编程以及采用GPU并行计算。串行计算是顺序处理的计算方式,并行计算则是一个问题可以被分割为并行处理的计算方式。而实际的应用程序会包含很多功能——一些适合于串行处理而一部分适合于并行计算,因此就有必要统一CPU和GPU编程。通过将并行计算放在GPU上而同时将串行计算放在CPU上,应用程序可以从这两种计算中充分受益。


不难看出,CUDA正在试图解决多核CPU在多线程软件开发上的困境并以此作为GPU进入计算领域的基础:在多核或者是集群CPU上进行并行计算,开发人员必须要用软件的工具来解决并行计算问题,CUDA正是创建了一个可以统一并行和串行计算的环境,该环境包括一个C语言编译器,一个独立于图形驱动之外的专门的计算驱动程序,以及标准的CPU类型的工具,包括像调试程序和分析等。


值得注意的是CUDA采用的是C语言,C语言编译器使开发人员能够以标准C语言对CPU和GPU编程——这可以更方便的影响到习惯于C语言而不是图形编程语言的通用计算领域中的大量开发人员;计算驱动程序是一种包含在标准NVIDIA驱动程序中的专用的驱动程序。CUDA驱动程序为超高速传递信息的方法等计算功能而进行了优化,此类信息传递涵盖了CPU与GPU之间的传输。


性能的比较


的确,CPU在并行计算上的不足让GPU找到了机会。CPU以很小的单位管理数据并顺序地进行处理。信息的每个部分都必须等待着经过单独的执行单元。单独的执行单元非常灵活,但不能并行地处理信息,CPU进行高速串行计算还需要依赖高频率和大缓存;GPU 被设计用于进行一种完全不同的处理方式。GPU的架构可以轻松解决并行计算问题,在GPU 内部具有快速存储系统,并且最多可有128个处理器,每个处理器都可以同时采用并行方式计算一部分数据,此外,GPU 硬件设计能够管理数千个并行线程。数千个GPU线程全部由GPU创建和管理而不需要开发人员进行任何编程和管理。


Walter Mundt-Blum是NVIDIA公司专业解决方案事业部全球销售副总裁,在介绍NVIDIA两款计算产品Quadro和Tesla时,他引用了大量的事例来证明GPU在数据计算领域的优越性:神经建模如果只用CPU进行数据处理,大概需要花2.7天的时间,用GPU只需要30分钟;一家致力于CPU计算的公司Acceleware引入了一个手机天线设计项目,在进行电磁场模拟时,一个双核3.2GHz CPU需要15小时,而一个GPU只需要15分钟;在利用华盛顿大学的研究人员发布的Matlab代码(数学计算程序)进行编程时,使用CPU+GPU得到了17倍性能提升;牛津大学计算实验室的一个关于LIBOR应用的研究也采用了金融计算研究用途的GPU,结果显示,即便与专门的加速设备比较,GPU也能提供远比一个单独CPU或CPU加上加速器高得多的性能。


我想,CPU阵营究竟能在多大程度上坦然接受这些对比?如果偏图形计算的Quadro对CPU领域尚不构成直接冲击,那Tesla足以让CPU阵营警觉。Tesla的定位是在主板级以及桌面电脑产品用于加速PC及工作站的计算速度,旨在让科学家和工程师利用GPU强大的并行计算能力强化自己的工作站,在桌面上实现大规模计算集群的计算能力。NVIDIA还为GPU推出了1U系统,针对数据中心应用,适合几台计算服务器以及数千台计算服务器的协作,满足大规模计算的需要。


Walter Mundt-Blum很高兴Tesla让数据中心没有GPU的现状成为过去。我的看法是:即使Tesla目前以协处理服务器的形式出现,它依然在取代CPU的传统领地。当然,NVIDIA截止目前的官方态度一直是强调GPU不会代替CPU,表示CPU可以解决无关联性的的数据处理,比如操作系统、数据库、产能、临时压缩、递归算法等;GPU则适合关联性强的海量数据处理,如石油天然气、地震资料处理、金融风险建模、医疗成像、有限元计算、生物序列匹配。


CPU阵营的态度


如果人们对“Telsa大胜Intel V8系统”这样的新闻标题已经不再感到新鲜的话,以Intel为首的CPU阵营肯定不会无动于衷。事实上,他们在去年甚至更早以前就已经开始布局。Intel的视觉计算小组 Visual Computing Group首席构架师Douglas Carmean曾表示:Intel未来的超多核处理器采用了类似GPU的构架,该处理器内核约10mm2,耗电量仅6.25W,单线程的运算能力仅为目前处理器的1/3,但它拥有4个线程,并且是16向量的FPU浮点运算单元。Intel还为此种架构设计了可以动态为各个核心分配的大容量缓存。


一位FPGA公司的亚太区行销董事对我感叹道,从目前的应用需求看,半导体技术过剩了,CPU和GPU的创新从芯片设计向应用设计转移,其实都是在寻找新的增长点。我同意这个说法。也许这是一个不容易说清楚的事情,变化还在继续,或者说刚刚开始。对GPU来说,进入通用计算领域是锦上添花的业务,而对于CPU来说则是出现了令人不安的状况。AMD收购了ATi,计划在2009年推出内建GPU核心的Fusion处理器,而Intel也正忙着推出整合GPU的Nehalem。如果NVIDIA开始强调自己是计算而非图形芯片供应商,那么有人认定GPGPU是站在CPU门口的野蛮人也就不足为奇了。

文章评论2条评论)

登录后参与讨论

用户144206 2008-5-3 17:13

未来的CPU应该可以整合GPU的吧

用户1200847 2008-4-23 21:04

CPU的未来???
相关推荐阅读
用户620417 2013-09-16 10:28
DesignSpark Mechanical为3D设计注入新概念
自今天(2013年9月16日)起,设计工程师可以通过www.designspark.com/mechanical网站免费下载DesignSpark Mechanical了。DesignSpark Me...
用户620417 2013-01-18 10:04
2013年MCU、气体监测和LED照明的技术演进与产业展望
日前,在易维讯(EEVIA)主办的“2013产业和技术展望媒体研讨会”上,来自飞思卡尔、ADI和Marvell的代表分享了他们对MCU、气体监测和LED照明驱动技术和未来发展趋势的看法,笔者择重整理...
用户620417 2012-12-31 10:01
小心预测的陷阱
刚刚过去的2012年看上去像是为2013年做准备的一年,事实上,就“预测”而言,每一年都像是为下一年的预测提供元素做准备——有意思的是,每到年底,“预测”就成了所有公司的重要工作,因为除了那些专门以预...
用户620417 2012-12-19 15:24
符合工业RFID应用的专业芯片
(转载)想必RFID芯片对于大家来说都不陌生,你的宠物狗或猫安装过ID芯片;通过收费站时用过EZPass;有用Exxon Mobils的SpeedPass支付过汽油,那么你就用过RFID。除了这些,人...
用户620417 2012-12-10 15:19
高频线路板高性能材料分析
无线宽带网络、通信、卫星通讯的发展推动电子设备向高速与高频化方向发展。诸如卫星系统、移动通信回传基站以及汽车雷达等设备都必须采用高频电路设计,而最终这些电路都要有赖于高频线路板才能得以实现。 ...
用户620417 2012-11-27 15:11
移动设备不可忽视的关键要素——玻璃
 在影响移动设备如智能手机和平板的关键性能中,显示单元十分重要,而作为与显示单元密不可分的玻璃盖板却往往容易忽视。如果移动设备的趋势是轻薄坚固,那显示屏的厚度和硬度是必不可少的设计要素,不能忽视,...
我要评论
2
10
关闭 站长推荐上一条 /2 下一条