GPU简介及高性能并行计算

上传人:工**** 文档编号:432891421 上传时间:2022-09-24 格式:DOCX 页数:12 大小:365.51KB
返回 下载 相关 举报
GPU简介及高性能并行计算_第1页
第1页 / 共12页
GPU简介及高性能并行计算_第2页
第2页 / 共12页
GPU简介及高性能并行计算_第3页
第3页 / 共12页
GPU简介及高性能并行计算_第4页
第4页 / 共12页
GPU简介及高性能并行计算_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《GPU简介及高性能并行计算》由会员分享,可在线阅读,更多相关《GPU简介及高性能并行计算(12页珍藏版)》请在金锄头文库上搜索。

1、第一章.GPU的诞生NVIDIA公司在1999年8月31日发布GeForce 256图形处理芯片时首先提出GPU的概 念。GPU 之所以被称为图形处理器,最主要的原因是因为它可以进行几乎全部与计算机图形 有关的数据运算,而这些在过去是CPU的专利。目前,计算机图形学正处于前所未有的发展时期。近年来,GPU技术以令人惊异的速度 在发展。渲染速率每6个月就翻一番。性能自99年, 5 年来翻番了10次,也就是(2 的10 次方比2)提高了上千倍!与此同时,不仅性能得到了提高,计算质量和图形编程的灵活性 也逐渐得以改善。以前,PC和计算机工作站只有图形加速器,没有图形处理器(GPU),而图形加速器只

2、能简单的加速图形渲染。早期GPU的强大处理功能只被用于3D图像渲染,应用领域受到了 限制。随着以CUDA为代表的GPU通用计算API的普及,GPU在计算机中的作用将更加重要, GPU的含义也可能从图形处理器(Graphic Processing Unit)扩展为通用处理器(General Purpose Unit)。第二章.GPU发展简介2.1 GPU渲染流水线GPU 的渲染流水线的主要任务是完成 3D 模型到图像的渲染工作。常用的图形学 API (Direct3D/0penGL)编程模型中的渲染过程被分为几个可以处理的阶段,分别由GPU中渲 染流水线的不同单元进行处理。GPU输入的模型是数据

3、结构(或语言)定义的对三维物体的 描述,包括几何、方向、物体表面材质以及光源所在位置等;而SPU输出的图像则是从观察 点对3D场景观测到的二维图像。在GPU渲染流水线的不同阶段,需要处理的对像分别是顶 点(vertex)几何图元(primitive)、片元(fragment)像素(pixel)。如下图Vertex buffer-谛人散AH円山蜡述)iI.I顶点生成卜W呷嵋片.兀牛rasterization)典型渲染过程可分为以下几个阶段:1. 顶点生成图形学API用简单的图元(点、线、三角形)表示物体表面。每个顶点除了(x,y,z)三维 坐标属性外还有应用程序自定义属性,例如位置、颜色、标准向

4、量等。2. 顶点处理 本阶段主要是通过计算把三维顶点坐标映射到二维屏幕,计算各顶点的亮度值等。这个阶段 是可编程的,由ver tex shader完成。输入与输出一一对应,即一个顶点被处理后仍然是一 个顶点,各顶点间的处理相互独立,可以并行完成。3. 图元生成 根据应用程序定义的顶点拓扑逻辑,把上阶段输出的顶点组织起来形成有序的图元流。顶点 拓扑逻辑定义了图元在输出流中的顺序,一个图元记录由若干顶点记录组成。4. 图元处理这一阶段也可编程的,由geometry shader完成。输入和输出不是一一对应,一个图元被处 理后可生成0个或者多个图元,各图元处理也是相互独立的。本阶段输出一个新的图元流

5、。5. 片元生成 这一阶段将对每一个图元在屏幕空间进行采样,及光栅化。每一个采样点对应一个片元记录, 记录该采样点在屏幕空间的位置,与视点之间的距离以及通过插值获得的顶点属性等。6. 片元处理片元处理阶段是可编程的,有pixel shader完成,主要完成图形的填色功能。模拟光线和 物体表面的交互作用,决定每个片元的颜色及透明程度等属性。7. 像素操作 用每个片元的屏幕坐标来计算该片元对最终生成图像上的像素的影响程度。本阶段计算每个 采样点离视点的距离,丢弃被遮挡住的片元。当来自多个片元影响同一个像素时,往往都根 据图元处理输出流中定义的图元位置进行像素更新。图形渲染过程具有内在的并行性:顶点

6、之间、图元之间、片元之间的数据相关性很弱,对他 们计算可以独立并行进行。这使得通过并行处理提高吞吐量成为可能。首先,渲染流水线具有时间上的功能并行。流水线的各级可以同时工作,当各级都能满负荷 工作时,能够获得最高性能。其次,渲染流水性具有数据并行性。不仅可以通过SIMD提高每一个可编程着色器的性能, 还可以在一个GPU内集成多条渲染流水线实现更高的吞吐量。2.2 着色器模型在图形熏染中,GPU中可编程计算单元被称为着色器(shader),着色器的性能由DirectX 中规定的 shader model 来区分。 GPU 中最主要的可编程单元是顶点着色器和像素着色器。为了实现更细腻逼真的画质,G

7、PU的体系架构从最早的固定功能流水线到可编程流水线,再 到 DirectX 10 时代的以通用的可编程计算单元为主、图形固定功能单元为辅的形式。在这 一过程中,着色器的可编程性也随着架构的发展不断提高。下面给出每代模型的大概特点。表仁2 Shader Model SJ6本Shader ModelGPU代表显卡时代特点1999年第-代GeForce 256DirectX 71999*- 2001GPU可以处理顶点的拒阵变换稲进打光照计算(T&L), 操:作固:匕 功能单不貝有可编程性SM 1.02001年第一代GeFoiTC?DirectX 8将图形硬件流水线柞为流处理器來解释,顶点部分出现可

8、编稈性*像素部分可编程性有限(讲问纹理的方式和格式 受限.不支持浮点)SM 2.02003年第三代NVGeFbrceFx 和 ATIR300DirectX 9.0b顶点和像素可编岸性史適用化,像索部行支持FT轴3 睜点,可包含匕千条指乞纹理使用更则灵活:可用索引 进行査找.也不再限制在0川范围,从而可用柞任意数鈕 这一点对通用计算很重要)SM 3.02004年第刖代NV(kForce 6 和 AHXJOOi)DirectX 9.0c顶点程序可以访问纹理TF,支持动态分支操作,像嘉程 序卄始支持分芟燥作也括徧环、汀間耙等;八支持廉数 適用,64仃浮点纹理漆跛利融台多个绘粗日标SM 4.02007

9、第五代NVG80 和 AMD/AT1R600DirectX 1020072009统渲集架拘,支持1EEE754浮点标准,窃入geometry shader(叭批量进行几何处理),指令数从IK捉升至MK, 寄存器从32个增加到4096个,纹理觇戦从16+4个捉升至1摇个,材lexLurc格式变为硕件玄持的RC;BE格式8192惓凹2的最高纹;理分辨率比原先的204S*2(MS奇很务2.3 NVIDIA GPU 发展NVIDIA公司是全球视觉计算技术行业领袖及GPU的发明者。作为高性能处理器的GPU可在 工作站、个人计算机、游戏机和移动设备上生成令人叹为观止的互动图形效果。1993 年,黄仁勋与

10、Curtis Priem 和 Chris Malachowsky 共同成立 NVIDIA 公司,在接下来 的几年里研制了 NV-1和NV-2显示芯片,并在市场上推出了自己产品,做出了最初的尝试, David Kirk 也在这一阶段加入了 NVIDIA。1997年,NVIDIA发布了 NV-3显示芯片,即RIVA-128。RIVA-128具有在当时来说优秀的2D 性能和不错的3D性能,在市场上获得了成功。与当时的PCI接口 Voodoo图形加速卡相比, RIVA-128是一块基于AGP接口的完整的显卡。在1997年底,NVIDIA又发布了 RIVA-128ZX 和 TNT 显示芯片。1999年2

11、月,TNT-2显示芯片发布并投放市场。TNT-2具有当时最强大的3D图形性能,并 且具有面向不同市场的多个版本。TNT-2在市场上取得了空前的成功,奠定了 NVIDIA在视 觉领域的领导地位。1999年8月,NVIDIA发布了全球第一颗GPUGeForce-256。它主要由两个模块组成,一 个顶点转换和顶点光照处理器,由进行32位浮点数运算的固定功能单元组成。 GeForce256 可以支持OpenGL和微软公司的DirectX 7标准API接口。在DirectX 7时代,NVIDIA推出 了 GeForce 2 系列产品。2001年,NVIDIA推出了第一款拥有可编程顶点着色器的GPUGeF

12、orce 3他使用了可编 程的顶点处理器和不可编程的像素处理器(或片元处理器),并且两者都能完成32bit单精 度浮点运算。GeForce 3 可以支持 DirectX 8 和 OpenGL API。在 DirectX 8 时代,NVIDIA 的主要产品是GeForce 3系列和GeForce 4系列,以及面向低端市场的GeForce MX系列, 其中 GeForce MX 系列只支持 DirectX 7。2002年,NVIDIA推出的GeForce Fx是第一款使用32位浮点流水线作为可编程的顶点处理 器的GPU,可以支持DirectX 9.0,呈现电影级画质。随后几年推出的GeForce

13、6系列和 GeForce 7系列能够支持DirectX 9.0C API,改进了着色引擎,能够支持更多的特效。2006 年的 GeForce 8 系列 GPU 率先采用了统一渲染的架构,以通用渲染单元代替了原来分 离的顶点着色单元和像素着色单元,能够支持DirectX 10.0。从GeForce 8系列开始,NVIDIA 的 GPU 开始支持 CUDA。2007年,CUDA正式发布,引发了 GPU通用计算的革命。2008年,NVIDIA发布了能够支持CUDA计算能力1.1的GeForce 9系列GPU,以及支持CUDA 计算能力1.3的GT200GPU。NVIDIA在GT200中引入了大量重要

14、改进,使得GT200不仅具有 极高的处理能力和存储器宽带,用于通用计算时间的可编程性和灵活性也更加出色。同年, NVIDIA发布了 Tegra系列产品,进军移动处理器市场。目前, NVIDIA 在桌面、专业设计、高性能计算及嵌入式等不同领域推出了性能出众的 GPU 产品,分别对应不同的产品线。GeForce 系列主要面向家庭和企业的娱乐应用,能够为用户提供身临其镜的视觉体验。该系 列又可以分为面向性能的GTX系列,面向主流市场的GTS和GT系列,以及具有高性价比的 GS。Quadro系列主要应用于图形工作站中,对专业领域应用进行了专门优化。Quadro系列按照 不同应用领域划分,有为AutoC

15、AD设计优化的VX系列,为专业图形渲染优化的FX系列,用 于移动和专业显示的NVS系列,以及为图像和视频应用优化的CX系列。Tesla 系列是专门用于高性能通用计算的产品线,以有限的体积和功耗实现强大的处理能 力。Tesla系列包括以扩展卡形式安装的C系列,包括两个GPU的D系列和包含4个GPU的 S系列,以及CPU和GPU安装于同一单元内的M系列。D、S和M系列适合作为集群或者超级 计算机的基本单元,而C系列则可以为普通研究人员提供强大的计算能力。Tegra系列是NVIDIA为便携式和移动领域推出的全新解决方案,在极为有限的面积上集成 了通用处理器、GPU、视频解码、网络、音频输入输出等功能

16、,并维持了极低的功耗oTegra 可以提供长达数天的续航能力及强大的图形和视频功能,是一种革命性的新产品。未来 Tegra系列产品可能引入GPU通用计算功能,这将极大地提高移动便携设备的计算能力和应 用领域。3、从 GPGPU 到 CUDA传统上,GPU的应用被局限于处理图形渲染计算任务,无疑是对计算资源的极大浪费。随着 GPU可编程性的不断提高,利用GPU完成通用计算的研究渐渐活跃起来。将GPU用于图形渲 染以夕卜领域的计算称为 GPGPU(General-purpose computing on graphics processing units, 基于GPU的通用计算)。GPGPU计算通常采用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号