当前位置:文档之家› 《高等计算机体系结构》文献综述GPU发展

《高等计算机体系结构》文献综述GPU发展

四、CUDA简介
CU DA全称统一计算设备框架( Compute UnifiedDevice Architecture,简称CU DA ) ,是NVIDIA公司针对其GPU设计提出的GPGPU编程模型,它也以C语言为基础,降低了编程难度。在CUDA计算模型中,应用程序分为host端和device端,前者是指运行于CPU上的部分,后者则是运行于GPU上的部分,这部分代码称为核心( Kernel)函数。CPU代码准备好数据后,复制到显卡的存储器中,再调用核心函数进行执行,执行完毕后再由CPU代码将计算结果拷贝回主存。
图1AMD APU结构示意图
从图1可以看出, APU处理器将多核的x86 CPU核心、GPU处理器核心( SIMD引擎阵列)、高速总线以及存控融合在一块单一芯片上,可以实现数据在不同处理核心间的高速传输,大大缓解了目前CPU和GPU之间的通信受限于外部总线的问题。
2.NVIDIA: Fermi
Fermi是NVIDIA公司推出的最新一代GPU,提供了强大的双精度浮点计算能力。Fermi较之以往GPU的不同之处在于:首先,为面向对数据精确度要求较高的应用, Fermi首次在GPU的存储器中引入了ECC校验的功能;其次, Fermi在保持了主流GPU中使用的Shared Memory作为片上存储层次外,还首次引入了通用的数据Cache,以更好地支持通用计算。Fermi中的Cache包含被SM私有的L1 Cache和被所有SM共享的L2 Cache。此外, Fermi中的Shared Memory和Cache可以通过配置互相转化。最后, Fermi支持多Kernel同时执行。
三、GPGPU体系结构
目前可以生产支持通用计算的GPU厂家主要有AMD、NVIDIA和Intel。我们将简要介绍这三个厂商目前主流GPU的核心体系结构。
1.AMD: APU
为进一步提升处理器的工作效率, AMD公司将CPU和GPU的核心进行融合( Fusion) ,推出了APU[ 7]( Accelerated Processing Unit s)系列处理器,以加速多媒体和向量处理能力。业界有观点认为,这种融合的体系结构是未来处理器的发展方向。
北京科技大学
《高等计算机体系结构》
文献综述
题目:GPU的发展研究
学院计算机与通信工程学院
班级12402日
一、引言
随着半导体工艺的发展,芯片上集成的晶体管数目按照摩尔定律增加,各种处理器的存储和计算能力也因此不断提高。作为最常用的两类处理器芯片, CPU和GPU的性能发展呈现不同的规律。CPU是计算机的主控处理部件,需要应对各种复杂的控制过程,追求的标量性能,注重通用性,因此在其芯片体系结构设计时,不得不将大量的芯片资源用于分支预测、乱序执行等复杂的控制逻辑,从而限制了其计算性能的提升。而GPU原本只负责加速图形计算,功能相对比较单一,芯片的控制逻辑比较简单,主要的芯片资源都用于提升计算性能,因此其计算能力发展更为迅速。
在CU DA计算模型下, GPU执行的最小单位是线程,多个线程组成一个线程块,线程块中线程可以共享一片存储器,并以任意顺序执行,在硬件资源受限的情况下甚至可以串行执行。一个核心程序由一个或多个线程块组成,一个应用则由若干个核心程序构成。
图3 CUDA计算模型示意图
从CUDA体系结构的组成来说,包含了三个部分:开发库、运行期环境和驱动。开发库是基于CUDA技术所提供的应用开发库。目前CUDA的1.1版提供了两个标准的数学运算库一一C U FF下(离散快速傅立叶变换)和CUBLAS (离散基本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的基础上可以快速方便的建立起自己的计算应用此外开发人员也可以在C U DA的技术基础上实现出更多的开发库。运行期环境提供了应用开发接口和运行期组件,包括基本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。基于C UDA开发的程序代码在实际执行中分为两种,一种是运行在C户U上的宿主代码,一种是运行在G p U上的设备代码。不同类型的代码由于其运行的物理位置不同,能够访问到的资源不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个部分,基本上囊括了所有在GPGPU开发中所需要的功能和能够使用到的资源接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。
GPGPU[ 5])也成为体系结构、编程及编译等领域热点的研究方向之一。
二、CPU/GPU协同并行计算研究进展
a)GPU定义及相关技术
GPU英文全称(Graphic ProcessingUnit),中文翻译为“图形处理器”。GPU是相对于CPU的一个概念,由于在现代的计算机中图形的处理变得越来越重要,需要一
图2NVIDIA Fermi体系结构示意图
图2给出了Fermi的体系结构框图。图中包含16个SM,分布在共享的L2 Cache周围,每SM均包含L1 Cache、寄存器文件等私有存储资源, 32个流处理核心构成的计算阵列和线程调度单元。处理器的外围则分布着DRAM、Host和线程调度等接口。值得注意的是, Fermi之前的GPU中SM内大多包含8个流处理核心,如GT 200,因此需要4拍才能发射一个w arp,而Fermi中将流处理核心数提升至32个,而且采用双发射技术,使得每拍可以发射2个warp,极大提升了线程发射效率。
T&L技术是最近在图形加速卡上都可以看得到的规格名称之一,这个名词的原来意义是:Transforming以及Lighting,光影转换。在图形加速卡中,T&L的最大功能是处理图形的整体角度旋转以及光源阴影等三维效果。
3D图上有许多的连结点,每一个连结点都可视为一条线的转折点,通过这些连结点,图形芯片可以很清楚地将整个对象的结构辨识出来。然而,这些连结点在这张3D设计图上的位置是固定不动的,换句话说,不管我们从任何一个角度来看这个对象,连结点的位置并没有变动,变动的只有角度的不同。不过,对象图案若只进行到Transforming的阶段,在对象的表面也只有连结点而已,并没有加上颜色色块或任何材质的贴图表现,因此,很像是立体的3D透视图。
五、参考文献
[ 1] GPGPU技术研究与发展*
[ 2]CUDA走向GPGPU新时代
[3]Glaskowsky P N. NVIDIAs Fermi: T he Firs t Complete GPUComputing Architecture[ R] . A Whit e Paper Prepared UnderContract with NVIDIA Corporation, 2009: 1-26.
凹凸贴图(bump mapping),又称为皱面贴图,是一项计算机图形学技术,在这项技术中每个待渲染的像素在计算照明之前都要加上一个从高度图中找到的扰动。这样得到的结果表面表现更加丰富、细致,更加接近物体在自然界本身的模样
b)协同计算概念
CPU/GPU协同并行计算,其关键在于如何实现两者的高效“协同”。从国内外大量的研究工作来看,“协同”分为两个层次:1)CPU仅负责管理GPU的工作,为GPU提供数据并接收GPU传回的数据,由GPU承担整个计算任务;2)除管理GPU外,CPU还负责一部分计算任务,与GPU共同完成计算。第一层次的“协同”比较简单,CPU与GPU间分工明确,但浪费了宝贵的CPU计算资源。如IBM的Power7处理器具有32个核心,因此CPU也具有强大的计算能力。可见,第二层次的“协同”是未来协同并行计算的发展方向
一般来说,T&L的效能常用「单位时间内所能处理多少个多边形的连结点变化以及光源运算」为基准。像nVidia的GeForce 2便能在每秒钟处理2500万个多边形,而有的产品甚至能达到3000万个多边形的效能。
纹理压缩中将压缩后的数据存储进显存并不是终结。重要的是需要用显示芯片把这些压缩后的数据进行解压缩,再经过运算贴图到3D模型上。这个过程就需要显示芯片在硬件上支持了,如果不支持,对于压缩后的数据无法识别,照样不能完成纹理压缩,也不能发挥出纹理压缩的优势。
例如, AMD公司2009年第一季度发布的专业级流处理GPUFireSt ream 9270[ 1]的单精度浮点峰值性能达到1.2T Flo ps,而Intel公司顶级的Core2 Ex tr eme 9650四核处理器的浮点处理能力仅有96GFlo ps,可见在计算性能方面, GPU要高出CPU整整一个数量级。计算性能增长的同时, GPU的存储性能也在不断提升, 2~ 4GB的存储容量、256~ 512位宽的存储总线都为GPU发挥出强大的计算能力提供了充分的保证。除了计算性能外,从性/价比和性能/功耗比上看, GPU相对于通用CPU同样拥有明显的优势。这些特性都使得GPU成为搭建超级计算机的良好选择,可以在有限的系统规模和金钱开销的限制下达到非常高的峰值计算性能,因此越来越受到高性能计算领域的关注。计算性能不断提升的同时,限制GPU广泛应用的另一制约因素) ) )可编程性,也在不断提高。早期的GPU仅负责图形加速,流水线的功能固定,只能执行有限的几个操作以完成图像的生成。硬件工艺的进步使得GPU内处理单元的结构越来越复杂,功能也越来越灵活,其流水线具备了执行用户自定义程序的能力,从而具备了初步的可编程性。从最初的底层图形API发展到现在高度抽象的CUDA[ 2]、Broo k +[ 3]以及OpenCL[ 4], GPU的可编程性得到了极大的提升,已经具备了开发非图形领域应用的基本能力, GPU上的通用计算( General Purpose computat io n on GPU s,简称
个专门的图形的核心处理器。GPU是显示卡的“大脑”,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。GPU使显卡减少了对C P U的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时。GPU所采用的核心技术有硬体T&L、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图双重纹理四像素256位渲染引擎等,而硬体T&L技术可以说是G P U的标志。
相关主题