GPU(Graphics Processing Unit)是由NVIDIA公司首先提出来的,1999年8月NVIDIA公司发布了全球第一颗GPU显卡——GPU-GeForce-256,它由两个模块组成:一个是顶点转换和顶点光照处理器,可以进行32位浮点数运算;另一个是像素着色流水线(或称为片元着色流水线),可以进行定点数运算。2001年NVIDIA推出了第一款拥有可编程顶点着色器的GPU-GeForce 3,它使用了可编程的顶点处理器和不可编程的像素处理器(或称为片元处理器),两者都能完成32位单精度浮点运算。2006年的GeForce 8系列GPU率先采用了统一渲染架构,以通用渲染单元替代了原来分离的顶点着色单元和像素着色单元。2007年CUDA正式发布,引发了GPU通用计算的革命。
近年来,GPU正在以大大超过摩尔定律的速度高速发展,极大地提高了计算机图形处理的速度和质量,它不但促进了图像处理、虚拟现实、计算机仿真等相关应用领域水平的快速提高,同时也为人们利用GPU进行图形处理以外的通用计算提供了良好的运行平台。
GPU应用领域的拓宽与其硬件发展有着极大关系。GPU自1999年首先由NVIDIA公司提出后,就其发展的速度而言,是CPU更新速度的3倍。2004年,NVIDIA GeForce 6800 Ultra处理器峰值速度可达40GFLOPS,对比同时代的Intel Pentium43.0GHz,采用SSE2指令集也只能达到6GFLOPS。NVIDIA发布的Ge-Force 8800图形处理器集成了6.8亿个晶体管,拥有128个流处理单元,其峰值运算能力超过340GFLOPS,而与此同时Intel的Pentium4 Core 2 Extreme X6800只有46.88GFLOPS。到目前为止,图形显示芯片拥有的新特征主要包括如下几点:
(1)在顶点级和像素级提供了灵活的可编程特性;
(2)在顶点级和像素级运算上都支持32位浮点运算,在某些阶段已经达到64位精度;
(3)支持绘制到纹理等功能,从而支持多遍的操作,这样避免了多次的CPU与GPU之间的数据交换;(www.xing528.com)
(4)支持顶点纹理,从而在硬件上实现位移贴图;
(5)支持依赖纹理功能,以方便数据的索引访问,从而可以将纹理作为内存来使用。
目前,主流计算机中的处理器一般是中央处理器(CPU)和图形处理器(GPU),传统意义上GPU只负责图形渲染,而大部分的处理都交给了CPU。随着图形硬件计算能力的提高和可编程特性的发展,人们将图形流水线的某些处理以及某些图形算法从CPU向GPU转移,基于GPU的图形算法复杂度也随之增加。除了计算机图形学本身的应用,其他领域的计算以及通用计算已成为GPU的应用之一,并成为研究热点。
基于GPU的通用计算[107,108]指的是利用图形卡来实现一般意义上的计算,而不单纯是绘制,借助于图形硬件可编程性和执行并行性的优势,可以充分利用计算机资源,分担CPU计算量,提高运行速度,常被用于计算集中型应用,如数值运算[109]、粒子系统、流体仿真等。Joao[110]简要阐述了GPU的发展历史。Mace-donia[111]认为GPU在2003年已经进入计算的主流,是通用计算的一个里程碑。2003年Li等[112]采用LBM(Lattice Boltzmann Method)来模拟流体和烟的效果。Kim等[113]采用GPU来实施物理计算,仿真冰晶体生长过程。2005年柳有权[114]借助GPU硬件加速方法实现基于物理的计算机动画。更多的图像硬件相关的内容可以从GPU的官方网站[115-119]中查询到。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。