gpu 编程方法和语言

gpu 编程方法和语言

ID:13242784

大小:91.94 KB

页数:8页

时间:2018-07-21

gpu 编程方法和语言_第1页
gpu 编程方法和语言_第2页
gpu 编程方法和语言_第3页
gpu 编程方法和语言_第4页
gpu 编程方法和语言_第5页
资源描述:

《gpu 编程方法和语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章GPU编程方法和语言实时计算机图形硬件从支持一些固定的算法到完全可编程,正经历着一个显著的转变。GPU编程对加速图形体绘制方面,有着重要的作用。可通过可编程顶点程序和可编程片段程序来实现绘制速度的提高。1.1GPU通用计算GPU自1999年由NVIDIA公司提出以来,就一直保持着飞速发展势头,与此同时,基于GPU的通用计算研究和应用也越来越深入和广泛。GPU通用计算是指不仅仅使用图形卡处理绘制显示的计算,也可使用图形卡代替CPU进行与显示无关的一般意思的通用计算。得利于GPU通用计算的应用,多年来计算机图形的大部分应用发生了从工

2、作站向微机的大转移,而这种转移甚至发生在像虚拟现实、科学研究、军事仿真、工业设计、电子娱乐,医疗图像处理与科学计算这样的实时(中、小规模)应用中,实时应用的计算机游戏的普及也是这一发展的标志[13]。这一切的发生从很大程度上源自于图形硬件的发展和革新。随着计算技术和集成电路技术的发展,图形硬件的更新速度迅猛,目前GPU不仅在并行处理和可编程性方面越来越成熟和完善,其发展速度更是CPU发展速度的3倍左右。这就为GPU作为通用计算器提供了充足的硬件基础。另外,众多公司提供了GPU编程的软件接口,比较流行的有,微软的DirectX中的高级着

3、色语言(HLSL)和低级着色语言(LLSL),NVIDIA公司的CG语言(Cforgraphics),以及OpenGL中的glslang语言等等。这些语言和编程接口为图形卡编程提供了充足的软件环境。新一代图形处理器的标志是提供了图形硬件的可编程能力,即集成了对三角形顶点进行几何变换和光照计算的点元渲染器(Vertexshader)和对像素进行着色的片元渲染器(Fragmentshader或Pixelshader)。可编程渲染器并没有完全替代传统处理器中的顶点管道和像素管道的固定处理单元,它们构成了图形处理器中不同的顶点和像素管道。图2

4、-1给出了一般的图像卡编程的流水线,其中绿色的为可编程的。图2-1可编程渲染流水线每个顶点操作由运行于顶点处理器之上的顶点着色程序即VertexShader进行处理,每个片断操作由运行于片断处理器之上的片断着色程序即FragmentShader进行处理,这两部分处理可以由用户编程实现,因此也称为可编程的。而对于目前各厂商的显卡而言,数据流程中其它位置的处理则都是依靠图像卡硬件提供的固定流水处理程序进行的,也就是说他们不可编程。顶点着色程序主要是取代了固定渲染流水线图形硬件的几何变换与光照计算模块,完成顶点坐标变换,顶点法向量变换,纹理

5、坐标生成与变换等操作而今随着图形卡可编程技术的提高,在顶点处理程序中也可以处理更多的其他操作,譬如ShaderModel3.0(SM3)支持顶点程序中读取纹理数据,可以在顶点程序中计算光照模型等。片断着色程序取代了固定渲染流水线图形硬件的每片断处理模块,它对每一个像素进行处理,主要工作是读取纹理数据,计算当前像素对应的输出颜色等,而当前片段着色程序的输出可以不限于颜色,而可以支持多个输出通道,并且直接输出到纹理中,这样就可以很大程度上减少CPU与GPU之间的数据交换次数。在图形学应用中,虽然实时图形应用可以只使用顶点着色程序或者片断着

6、色程序中的一种,甚至都不使用而依旧使用固定渲染流水线,但是要获取各种逼真的图像效果,例如基于片断的光照计算,则往往需要两种着色程序协同工作。当前主流图像卡有如下特征,使他们更方便的支持多种通用计算:1.在顶点处理程序级和像素处理程序级都提供了灵活的可编程特性,而且有多种相应的软件如CG,HLSL等也将其实现。2.支持多个纹理,不仅可以使用多纹理作为多个数据流通道,提供数据资源的快速访问,还可以使用多个纹理作为片段程序的输出,以保存图形处理器计算的结果,为CPU所用,或者为下一个数据流通道所用。3.支持直接绘制到纹理以及多编绘制,从而避

7、免将计算结果拷贝到纹理这一比较费时的过程,减少GPU和CPU之间的来回数据交换。4.支持依赖纹理功能,以方便数据的索引访问,可以将纹理数据作为已载入高速内存的数据来使用。相对于采用固定渲染管道的图形硬件(顶点处理程序和像素处理程序不能改变),上述提到的GPU编程的新特征无疑加快了GPU在通用计算方面的应用。而采用图形卡硬件进行通用计算的主要目的是为了加速,加速的动力来自这些新硬件所具有的以下主要优势:1.GPU计算的并行特性。图形卡硬件的最专注的两个方面是并行性和可编程性。它的这一功能主要是通过多个渲染管道和RGBA4个颜色通道同时计

8、算来体现的,譬如NV4x系列支持16渲染管道,这意味着同一个时间周期内,GPU内可以同时对16个像素进行计算,并且GPU内对四元组的计算所用时间和对一个数计算所用时间相同。而最近GPU可以在一个时钟周期内可以同时获取高多

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

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

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