cuda:主导gpu计算的

cuda:主导gpu计算的

ID:15372772

大小:1.70 MB

页数:20页

时间:2018-08-02

cuda:主导gpu计算的_第1页
cuda:主导gpu计算的_第2页
cuda:主导gpu计算的_第3页
cuda:主导gpu计算的_第4页
cuda:主导gpu计算的_第5页
资源描述:

《cuda:主导gpu计算的》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、CUDA:主导GPU计算的革命回顾显卡的发展,用户对图形计算方面的需求不断的超出了CPU在计算能力方面的发展速度。随着CPU计算能力的进步,人们一度认为可以将图形、视频等需要大量运算的功能都交与CPU完成。但是在3D时代,人们发现庞大的3D图形数据计算量对CPU的负荷,已经远远超出了它所能承担的计算能力。为了满足海量数据的图形计算需求,显示芯片向更高速更复杂发展。终于有一天,当显示芯片实现的计算能力也无法满足快速增长的图形计算需求时,计算功能被脱离出来单独作为一个芯片设计,这就是专门负责图形计算的处理器——GPU(GraphicsPro

2、cessingUnit),1999年NVIDIAGeForce图形处理器的发布,实现了顶点的矩阵变换和光照计算,真正意义上的GPU宣告诞生。随着GeForce3开始引出可编程特性,能将图形硬件的流水线作为流处理器来解释,基于GPU的通用计算也开始出现。到了NvidiaGeForce6800这一代GPU,功能相对以前更加丰富、灵活。顶点程序可以直接访问纹理,支持动态分支;象素着色器开始支持分支操作,包括循环和子函数调用,TMU支持64位浮点纹理的过滤和混合,ROP(象素输出单元)支持MRT(多目标渲染)等。象素和顶点可编程性得到了大大的扩

3、展,访问方式更为灵活,这些对于通用计算而言更是重要突破。G80计算架构真正的革命来自于2006年,NVIDIA在这一年推出了基于DX10统一渲染体系的旗舰图形处理器G80,当人们为其强悍的3D效能惊叹时,有谁又会想到NVIDIA这次会给那些GPU通用运算的支持者带来的更加目瞪口呆的变革!G80包含了128个处理器(最新的G200包含了240个处理器),在某些大规模并行计算的应用上,相对于CPU来说性能提高可达100倍以上。现代的GPU计算能力已经远远的超过了CPU和其他的处理器。但是如此强大的计算能力如果只能应用在图形方面,对于计算资源

4、来说是一个极大的浪费。◆GPGPU与GPU计算为了能够在图形计算之外的更多领域发挥GPU强大的计算功能,人们2002年就开始研究如何能够利用GPU完成通常意义上的数据运算,这被称之为GPGPU(General-PurposecomputingonGraphicsProcessingUnits,基于GPU的通用计算)。由于第一代GPU的计算是基于矢量的运算(可以理解为基于数组的计算),因此第一代的GPGPU采取的技术方案是先将需要处理的计算问题转化为能够用矢量表示的问题,然后通过例如DirectX或者OpenGL这样的图形API完成计算取

5、回结果。由于这些图形API会使用GPU来完成相应的计算,因此也就通过这种间接的方式实现了GPGPU。但是这种方式存在着很大的不便。它的问题在于芯片设计本身是为了图形而进行设计的,所以是强制一个本为图形设计的芯片之上的进行通用用途的计算。而且在这种通用用途的GPU计算当中,没有办法用高级程序语言比如C、C++语言进行编程。这就是为什么在2004年的时候,NVIDIA就专门请了相关硬件方面的设计师以及软件方面的设计师对于GPU进行重新的完全不同的以前的设计,它既适用于图形,也是适用于计算的。随着统一渲染架构的诞生,GPU本身的计算方式由基于

6、矢量计算转为了基于标量的并行计算。当摆脱了架构和计算方式所带来的限制之后,GPU所能处理的问题由图形领域扩展到了通用计算领域。而在开发领域,需要有一种灵活的开发方式,能够让用户直接使用GPU的计算能力,而CUDA正是为此而诞生。这就是为什么现在可以在C语言的环境当中,也就是所说的CUDA这个环境当中对于GPU进行编程,而这,也就是我们现在所说的GPU计算。◆GPU是并行计算的高手仅仅几年的时间,可编程图像处理器单元已经发展成为绝对的计算主力,由于具有由高内存带宽驱动的多个核心,今天的GPU为图像和非图像处理提供了难以置信的资源。GPU的

7、浮点运算能力是CPU的十数倍发展背后的主要原因是GPU是特定于计算密集的、高并行的计算,而这正是图像渲染所需要的,因此GPU设计了更多的晶体管专用于数据处理,而非数据高速缓存和流控制。GPU相比CPU拥有更多的处理单元GPU的处理核心SP基于传统的处理器核心设计,能够进行整数,浮点计算,逻辑运算等操作,从硬体设计上看就是一种完全为多线程设计的处理核心,拥有复数的管线平台设计,完全胜任每线程处理单指令的工作。GPU内的线程分成多种,包括像素、几何以及运算三种不同的类型,在三维图像处理模式下,大量的线程同时处理一个shaderprogram

8、以达到最大化的效率,所以像GTX200GPU的核心内很大一部分面积都作为计算之用,和CPU上大部分面积都被缓存所占据有所不同,大约估计在CPU上有20%的晶体管是用作运算之用的,而(GTX200)GPU上有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。