预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于图形处理器的通用计算技术王少荣孙晓鹏刘丽艳刁麓弘李华摘要基于图形处理器(GPUGraphicProcessingUnit)的通用计算是近年来的一个热点研究方向。本文介绍了图形处理器的历史、发展,以及其在通用计算领域的几个应用。另外本文也给出中国数字人研究中,利用GPU进行体绘制硬件加速的一个例子。我们认为GPU在通用计算方面会发挥重要的辅助作用。1引言近年来,计算机图形处理器(GPU)得到极大的发展,并且开始应用于图形学之外的通用计算领域。GPU用于通用计算的研究也开始成为热点。世界上唯一的图形学硬件会议2003年(SIGGRAPH/EURPGRAPHICSGraphicsHardware2003)关注的重点是GPU的非图形应用。也有人提出,GPU将变成通用处理器(GeneralProcessingUnit)。GPU应用领域的拓宽和它的硬件发展有着极大关系。从1993年开始,GPU的性能以每年2.8倍的速度增长。现在几乎每隔半年更新一代。2004年,NVidiaGeForce6800Ultra处理器峰值速度可达40Gigaflops,对比Intel3GPentium4,采用SSEStreamingSIMD(singleinstructionmultipledata)Extension指令集也只能达到6Gigaflops。本文第2部分介绍GPU的发展历史,并以NVidiaGeForce系列为例,介绍其硬件架构。第3部分中介绍基于GPU的通用计算模型。第4部分给出一个我们在进行数字人研究时,GPU用于可视化的一个应用。第5部分主要介绍GPU用于通用计算的几个主要成功领域。最后从硬件结构和软件发展两个方面总结GPU的发展和面临的挑战。1图形处理器的发展及其硬件介绍我们先对图形处理器的发展历史作一个简单回顾。20世纪六、七十年代,受硬件条件的限制,图形显示器只是计算机输出的一种工具。限于硬件发展水平,人们只是纯粹从软件实现的角度来考虑图形用户界面的规范问题。图形用户界面国际标准GKS(GKS3D),PHIGS就是其中的典型代表。20世纪80年代初期,出现GE(GeometryEngine)为标志的图形处理器。GE芯片的出现使得计算机图形学的发展进入图形处理器引导其发展的年代。GE的核心是四位向量的浮点运算。它可由一个寄存器定制码定制出不同功能,分别用于图形渲染流水线中,实现矩阵,裁剪,投影等运算。12个这样的GE单元可以完整地实现三维图形流水线的功能。芯片设计者JamesClark以此为核心技术建立的SGI公司,对图形学和图形工业发展产生巨大影响。基于SGI图形处理器功能的图形界面GL及其后的OpenGL,成为图形用户界面事实上的工业标准。20世纪80年代和90年代。GE及其图形处理器功能不断增强和完善,使得图形处理功能逐渐从CPU向GPU转移。此前计算机图形特别是三维图形的应用主要集中在工作站以上的处理机上,图形处理流水线的大部分功能是由CPU完成的。现代图形处理的流水线主要功能分为顺序处理的两个部分。第一部分对图元实施几何变化以及对图元属性进行处理(含部分光照计算)。第二部分则是扫描转换进行光栅化以后完成一系列的图形绘制处理,包含各种光照效果和合成、纹理映射、遮挡处理、反混淆处理等。当越来越高级的图形绘制功能需要在光栅一级实现时,可以利用SIMD(单指令多数据)结构进行处理。20世纪80年代北卡罗莱那大学的PixelPlane系列和PixelFlow就是使用这种技术的典型代表。20世纪90年代,NVIDIA进入个人电脑3D市场。1999年推出具有标志意义的图形处理器,GeForce256。第一次在图形芯片上实现了3D几何变换和光照计算。此后GPU进入高速发展时期,平均每隔6个月就出现性能翻番的新的GPU。从SGI的GE到NVIDIA的GeForceGPU经历了20年,芯片的线宽从3μm缩小到0.13μm(2004年的GeForce6800集成了2.2亿晶体管),集成电路的逻辑设计能力提高300倍,但处理器数据通道接口带宽仅提高十几倍。同时对图形处理器计算能力的需求不断增长,出现了可编程的图形处理器。以NVIDIA和ATI为代表的GPU技术正是适应这种趋势。现代GPU的发展经历一个过程。在出现GPU概念出现以前,特殊的图形处理硬件只出现在诸如SGI等图形工作站上。第一代GPU出现在1998年,这些处理器主要处理光栅化,有些处理器支持多纹理。主要代表有NVIDIATNT2,ATIRang和3DFXVooDoo3。第二代GPU出现在1999年,图形处理器可以处理几何变换和光照计算,但不具备可编程性。主要代表为NVIDIAGeForce256,GeForce2和ATIRadeon7500。第三代GPU出现在2001年,图形硬件流水