GPGPU的应用前景

摘要:Gpu凭借着其超强的计算速度向我们展示了一个新的计算理念――GPGPU,它的前景十分广阔,有了它就好比每个个人电脑拥有者有了一台小型计算机,在科学计算或是在生活中发挥了强大的功能,解决了一些过去个人计算机所不能解决的问题。
译:The GPU show us a new ideal of supper speed calculate. General-Purpose computing on Graphics Processing Units will be widely used.if you have a graphics card,you will use it as a minicom.It will be widely used in Scientific Computing and daily life.It can solve the promlem that PC can’t solve before.
关键字:CUDA,OpenCL,GPGPU,显卡(graphics card),并行计算(Patallel Computing)
关键字释义:
1、OpenCL全称Open Computing Language,是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境。
2、CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。
什么是GPGPU
GPGPU(General-Purpose computing on Graphics Processing Units)是基于GPU的通用计算,我们知道CPU主要负责的是完成各种算术运算(如加、减、乘、除)和逻辑运算( 如逻辑加、逻辑乘和非运算)而GPU最初主要负责图形方面的运算,GPGPU的目的就是让GPU能够做一些CPU能处理的事。
GPGPU的优势
随着GPU越来越强大,在计算上已经超越了通用的CPU。目前GPU的运算速度已经超过了1Tgfolps而目前的个人电脑的CPU最高不过200Gflops,“CELL”处理器在4GHz下才是256Gflops。由此可见GPU的运算速度是CPU的几十到几百倍,如果能让GPU实现CPU的功能,那么在性能上将获得巨大提升。显卡的计算能力相当与一台小型计算机的计算能力,一片显卡最贵不过几千(笔者的NV9600GT 1300元)而一台小型计算机要几百万,如果让GPU能处理小型计算机才能处理的事,那么就相当与小型计算机进入到了千家万户。
 
Intel Core2Due  G80 Chip 运算能力比较     
24 GFLOPS  520 GFLOPS GPU快21.6倍  
为什么GPU运算能力更强
GPU的运算速度如此之快,主要得益于GPU是对图形实时渲染量身定制的,具有两点主要特征:超长流水线与并行计算。GPU却从最初的设计就能够执行并行指令,从一个GPU核心收到一组多边形数据,到完成所有处理并输出图像可以做到完全独立。由于最初GPU就采用了大量的执行单元,这些执行单元可以轻松的加载并行处理,而不像CPU那样的单线程处理。另外,现代的GPU也可以在每个指令周期执行更多的单一指令。
如何释放GPU的运算能力
目前的显卡生产厂商主要是NVIDIA和AMD,首先提出GPGPU的是NVIDIA,Nvidia计划把Cuda并行计算架构用在所有其GPU上,Cuda是一种C语言环境,可以让开发者利用多核心并行计算的GPU编写软件解决复杂的计算问题。让显卡可以用于图像计算以外的目的,也就是超于游戏,使得GPU能够发挥其强大的运算能力。
而AMD则推出驱动催化剂8.12,该驱动能使Radeon4000系列显卡支持Stream通用计算。
Intel也推出了Larrabee独立显卡,它的核心实际是一堆IA X86核心,由于使用程序员熟悉的x86技术,所以在程序开发中不会有太大变化。
GPU能否取代CPU
我个人认为GPU是无法取代CPU的,因为首先GPGPU中的部分工作也是要靠CPU来完成的,其次GPU的强大计算能力主要某个方面如浮点运算,所以用它的通用计算能力可以做某些特定的事,如科学计算,但无法满足所有计算,最起码无法用GPU来运行操作系统,所以GPU是无法取代CPU的。
GPGPU的应用前景
GPGPU的应用前景相当广泛,特别是在一些专业领域,如电信、金融、证券数据分析,数理统计分析,生物医药工程,导航识别,军事模拟,无线射频模拟,图像语音识别,地理信息系统,生命科学研究,量子物理等,例如在癌症研究中重碳酸盐跟踪数据的工作,为了跟踪这些数据,如果使用原有CPU运算,以常见项目为例可能需要一周左右时间,而这还必须是高性能计算机多个CPU集群完成,如果使用普通PC,那这个研究根本没有意义。而GPU可以成百倍的速度来完成整个工作,节省了CPU集群所占据的机房。
GPGPU在家用电脑中也有着广泛的应用,如视频转换,效果图的渲染,图像处理,游戏等。这些都是与人们生活息息相关的,例如视频转换,我们每个人大多都有mp4,手机等电子产品,但是一个视频要转换到像.3gp,.mp4等特定的格式后才能够在那些电子产品上观看,而传统的CPU转换速度非常慢,常常转一个视频要花几十分钟甚至几个小时,而用GPU转换只需要几分钟。再比如我父亲是个设计师,以往渲染一个效果图常常要一宿甚至好几天,要是让GPU来完成渲染可能只要几个小时甚至几分钟。
综述
Gpu在通用计算上的潜力还是非常大的,虽然现在并行计算在的编程方面还存在一些技术难题,并行计算编程方法和人员稀缺,在兼容性上也存在问题,但是现在世界各大厂商在通用计算领域都有所关注,并共同制定了OpenCL,通用计算必将是今后发展方向,甚至比云计算更为有优势。
 
参考文献(由于GPGPU技术较新书籍较少所以均引自互联网及NVIDIA自编教程)

http://www.technewscn.com 
http://diy.pconline.com.cn 
http://topic.pcpop.com 
http://www.enet.com.cn 
NVIDIA总裁建CEO黄仁勋讲话
《NVIDIA计算统一设备架构编程指南》

你可能感兴趣的:(CUDA,大数据,显卡,GPGPU,通用计算)