● 如何将GPU功能单元映射为通用单元
基于GPU的计算从概念上讲很容易理解,并且现有多种高级语言和软件工具可以简化GPU的编程工作。但是开发人员必须首先了解GPU在图像绘制过程中是如何工作的,然后才能确定可用于计算的各个组件。为了着手把一般性的计算映射到GPU的专用硬件中,必须先确定GPU提供的各种计算资源,下面我们将简单了解GPU通用计算中各硬件系统的作用。以下资料由英国NVIDIA公司的开发工程师Mark Harris提供。
可编程并行处理器:GPU有两类可编程处理器,即三角顶处理器和像素处理器。顶点处理器负责处理顶点数据流(由位置、颜色、标准向量和其它属性),它们是组成三维几何模型的元素。依据每个顶点相对于其视点的位置,顶点处理器用顶点渐变程序对其转换。
像素处理器将像素渐变程序用于处理每个输出像素以确定其最后的颜色。顶点处理器和像素处理器是完全可编程的,可以对四个不同的数值同时执行一条指令。这是因为图形的基本要素或者是位置(X、Y、Z、W)或者是颜色(红、绿、蓝、alpha)。
ATI最为喜欢的SIMD结构流处理器
光栅处理器:在顶点处理器转换完顶点之后,每三个一组的顶点就用来计算一个三角形。从这个三角形出发,光栅处理器生成一个像素流。该光栅处理器的功能非常专一,就是表现这些三角形,因而不是用户可编程的,但可将它看成是一个地址内插器和一个数据放大器(因为它根据几个三角顶就可生成许多像素)。
纹理单元:顶点处理器和像素处理器能以纹理(图像)的形式访问存储器。该纹理单元可被看成是一个只读存储器接口。当前的GPU可以将一个输出图像写到纹理结构存储器,而不是写到帧缓存器。这个纹理渲染功能是基本的,因为它是将GPU输出直接反馈到输入的唯一现有机制,这个过程无须返回到宿主处理器。纹理渲染可被看成是一个只写存储器接口。
本次Fermi架构显卡所使用的CUDA运算核心
数据类型:当涉及数据类型时,现有的GPU比CPU更受限制。它们只支持定点或浮点形式的实数。如果没有一些图形编程方面的知识,初涉GPU编程可能会感觉麻烦。在CPU和GPU之间做某些非常简单的类比是有益的。
GPU纹理 = CPU矩阵:GPU上的基本矩阵数据结构是纹理(图像)和顶点矩阵。在CPU上用到一个数据矩阵的地方,也就是在GPU上用到一个纹理的地方。
GPU渐变程序 = CPU内循环:在CPU中,一个循环可重复用于一个数据流(存在一个矩阵内)内的各个元素,用该循环体内的各条指令处理这些元素。在GPU中,类似的指令可写在一个渐变程序之内,并自动应用到相应数据流的所有元素上。在这个计算中并行处理的数量取决于该GPU中处理器的数量。
纹理渲染 = 反馈:为了在GPU中实现反馈,纹理渲染功能必须用来将一个碎片程序的结果写到存储器中,该存储器随后可用做未来其它程序的输入。
几何光栅 = 计算启动:为了启动GPU中的计算,只需画个简单的几何图形。顶点处理器将转换它,而光栅单元将决定它所涉及的输出缓存器中的像素值,并为每个元素产生一个碎片。由于表示一个矩阵的方形碎片流中的每个元素一般都要经过处理,因此在GPU编程中启动通用计算最常见的手段就是用一个方块。
- 第1页:全文导读与内容简介
- 第2页:前言:通过GPU见证行业变革
- 第3页:第一章:GPU工作原理与并行计算
- 第4页:21世纪视觉需求与GPU变化
- 第5页:从山峰渲染了解GPU图形流水线
- 第6页:CPU与GPU的设计方向决定运算能力
- 第7页:GPU并行编程为何加速发展
- 第8页:GPU并行计算已成未来趋势
- 第9页:初识高性能并行计算
- 第10页:高性能并行计算发展历程
- 第11页:高性能并行计算单元分类
- 第12页:初识基于GPU系统的云计算
- 第13页:第二章:GPU结构与ATI产品发展
- 第14页:统一着色器架构释放GPU运算能力
- 第15页:传统GPU发展与着色器管线
- 第16页:传统SIMD结构流处理器指令细节
- 第17页:MIMD结构流处理器指令细节
- 第18页:R600时代对SIMD架构补充与优化
- 第19页:两种结构流处理器优劣对比
- 第20页:R300以来的芯片架构及其影响
- 第21页:ATI第一代统一渲染架构Xenos
- 第22页:统一渲染GPU R600临危受命
- 第23页:AMD对GPU架构的不断改进和优化
- 第24页:未来ATI图形芯片架构预测
- 第25页:第三章:GPU通用计算发展与细节
- 第26页:多核并行计算困惑与发展
- 第27页:基于AMD CPU+GPU异构计算平台
- 第28页:着色器模型变化历程与总结
- 第29页:Shader计算能力快速发展
- 第30页:揭秘GPU高性能计算关键
- 第31页:CPU与GPU的区别和发展方向
- 第32页:如何将GPU功能单元映射为通用单元
- 第33页:分支对GPU结构体系的挑战
- 第34页:GPU与CPU将如何演绎融合与吞并
- 第35页:第四章:GPU内部计算实现细节
- 第36页:GPU主要计算单元分布和职能
- 第37页:GPU内部通用计算代码运算过程
- 第38页:认识GPU浮点计算精度
- 第39页:整数运算能力与未来融合架构
- 第40页:GPU存储体系特点与变化
- 第41页:ATI GPU吞吐特性对比与分析
- 第42页:ATI GPU OPEN CL综合性能分析
- 第43页:先进混合架构之Larrabee展望
- 第44页:概念型融合架构之Fusion APU展望
- 第45页:GPU进化架构之Fermi分析
- 第46页:第五章:ATI GPU通用计算实例
- 第47页:ATI Stream技术发展与现状
- 第48页:OPEN CL接口技术与异构运算
- 第49页:Havok引擎与CPU+GPU异构运算
- 第50页:BOINC平台充沛的ATI GPU加速项目
- 第51页:最具影响力的Folding@home项目
- 第52页:GPU架构对于其他实例的适应性
- 第53页:全文总结与未来架构展望