GPU的架构知识介绍_第1页
GPU的架构知识介绍_第2页
GPU的架构知识介绍_第3页
GPU的架构知识介绍_第4页
GPU的架构知识介绍_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 PAGE8 页 共 NUMPAGES8 页GPU的架构知识介绍GPU的起GPU缩写为Graphics Processing Unit的,一般称为视觉处理单元。GPU被广泛用于嵌入式系统、挪动 、个人电脑、工作站和电子游戏解决方案当中。现代的GPU对图像和图形处理是非常高效率的,这是因为GPU被设计为很高的并行架构这样使得比通用途理器CPU在大的数据块并行处理算法上更具有优势。1985年 8月20日 ATi公司成立,同年10月ATi使用ASIC技术开发出了第一款图形芯片和图形卡,1992年 4月 ATi发布了 Mach32 图形卡集成了图形加速功能,1998年 4月 ATi被IDC评选为图形

2、芯片工业的市场指导者,但那时候这种芯片还没有GPU的称号,很长的一段时间ATI都是把图形处理器称为VPU,直到AMD收买ATI之后其图形芯片才正式采用GPU的名字。NVIDIA公司在1999年发布GeForce 256图形处理芯片时首先提出GPU的概念。从此NVIDIA显卡的芯片就用这个新名字GPU来称呼。GPU使显卡削减了对CPU的依赖,并执行局部本来CPU的工作,尤其是在3D图形处理时。GPU所采用的核心技术有钢体TL、立方环境材质贴图与顶点混合、纹理压缩及凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬体TL技术可以说是GPU的标志。工作原理电脑显卡的处理器称为图形处理单元(GPU)

3、,它对于显卡的功能就相当于CPU对于整台电脑,但是GPU的设计初衷是为了处理图形渲染所需要的复杂的数学和几何运算。一些高速的GPU往往包含比CPU更多的晶体管,而且,GPU的运行会产生大量的热量,因此,它们一般都安装有必需的散热片或者散热风扇。GPU是可以从硬件上支持TL(Transform and Lighting,多边形转换与光处理)的显示芯片,因为TL是3D渲染中的一个重要局部,其作用是计算多边形的3D位置和处理动态光线效果,也可以称为“几何处理”。一个好的TL单元,可以提供细致的3D物体和高级的光线特效;只大多数PC中,TL的大局部运算是交由CPU处理的(这也就是所谓的软件TL),由于

4、CPU的任务繁多,除了TL之外,还要做内存管理、输入响应等非3D图形处理工作,因此在实际运算的时候性能会大打折扣,常常出现显卡等待CPU数据的情况,其运算速度远跟不上今天复杂三维游戏的要求。即使CPU的工作频率超过1GHz或更高,对它的帮助也不大,由于这是PC本身设计造成的问题,与CPU的速度无太大关系。GPU是显示卡的“大脑”,它决定了该显卡的档次和大局部性能,同时也是2D显示卡和3D显示卡的区别根据。2D显示芯片在处理3D图像和特效时主要依赖CPU的处理才能,称为“软加速”。3D显示芯片是将三维图像和特效处理功能集中在显示芯片内,也即所谓的“硬件加速”功能。GPU加速技术当前CPU开展速度

5、已经落后于摩尔定律,而GPU正以超过摩尔定律的速度快速开展。在SIGGRAPH2022大会上,许多业界泰斗级人物发表了关于利用GPU进展各种运算的设想和实验模型。SIGGRAPH会议还特地安排了时间进展GPGPU的研讨交流。与此同时,在计算机进入DirectX 9 Shader Model 3.0时代,新的Shader Model在指令槽、流控制方面的显著增强使得对应GPU的可编程性能得到了大大的提升。GPGPU的研究由此进入快车道。下面对几个值得关注的技术做简单介绍。CUDA为充分利用GPU的计算才能,NVIDIA在2022年推出了CUDA(ComputeUnified Device Arc

6、hitecture,统一计算设备架构)这一编程模型。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU可以解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员如今可以使用C语言来为CUDA架构编写程序。通过这个技术,用户可利用NVIDIA的GeForce 8以后的GPU和较新的QuadroGPU进展计算。以GeForce 8800 GTX为例,其核心拥有128个内处理器。利用CUDA技术,就可以将那些内处理器串通起来,成为线程处理器去解决数据密集的计算。而各个内处理器可以交换、同步和共享数据。从CUDA体系构造的组成来说,包含了三个局部

7、:开发库、运行期环境和驱动。开发库是基于CUDA技术所提供的应用开发库。CUDA的1.1版提供了两个标准的数学运算库CUFFT(离散快速傅立叶变换)和CUBLAS(离散根本线性计算)的实现。这两个数学运算库所解决的是典型的大规模的并行计算问题,也是在密集数据计算中非常常见的计算类型。开发人员在开发库的根底上可以快速、方便的建立起自己的计算应用。此外,开发人员也可以在CUDA的技术根底上实现出更多的开发库。运行期环境提供了应用开发接口和运行期组件,包括根本数据类型的定义和各类计算、类型转换、内存管理、设备访问和执行调度等函数。基于CUDA开发的程序代码在实际执行中分为两种,一种是运行在CPU上的

8、宿主代码(Host Code),一种是运行在GPU上的设备代码(Device Code)。不同类型的代码由于其运行的物理位置不同,可以访问到的资不同,因此对应的运行期组件也分为公共组件、宿主组件和设备组件三个局部,根本上囊括了所有在GPGPU开发中所需要的功能和可以使用到的资接口,开发人员可以通过运行期环境的编程接口实现各种类型的计算。由于目前存在着多种GPU版本的NVIDIA显卡,不同版本的GPU之间都有不同的差异,因此驱动局部根本上可以理解为是CUDA-enable的GPU的设备抽象层,提供硬件设备的抽象访问接口。CUDA提供运行期环境也是通过这一层来实现各种功能的。由于体系构造中硬件抽象

9、层的存在,CUDA今后也有可能开展成为一个通用的GPGPU标准接口,兼容不同厂商的GPU产品OpenCLOpenCL是Open Computing Language(开放式计算语言)的简称,它是第一个为异构系统的通用并行编程而产生的统一的、免费的标准。OpenCL最早由苹果公司研发,其标准是由Khronos Group推出的。OpenCL支持由多核的CPU、GPU、Cell类型架构以及信号处理器(DSP)等其他的并行设备组成的异构系统。OpenCL的出现,使得软件开发人员编写高性能效劳器、桌面计算系统以及手持设备的代码变得更加快捷。OpenCL是一个为异构平台编写程序的框架,此异构平台可由CP

10、U,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。其框架如下:OpenCL平台API:平台API定义了宿主机程序发现OpenCL设备所用的函数以及这些函数的功能,另外还定义了为OpenCL应用创立上下文的函数。OpenCL运行时API:这个API管理上下文来创立命令队列以及运行时发生的其他操作。例如,将命令提交到命令队列的函数就来自OpenCL运行时API。OpenCL编程语言:这是用来编写内核代码的编程语言。它基于ISO C99标准的一个扩展子集,因此通常称为OpenCL C

11、编程语言。OpenCL由用于编写内核程序的语言和定义并控制平台的API组成,提供了基于任务和基于数据的两种并行计算机制,使得GPU的计算不在仅仅局限于图形领域,而可以进展更多的并行计算。OpenCL还是一个开放的工业标准,它可以为CPU和GPU等不同的设备组成的异构平台进展编程。OpenCL是一种语言,也是一个为并行编程而提供的框架,编程人员可以利用OpenCL编写出一个可以在GPU上执行的通用程序。在游戏、娱乐、科研、医疗等各种领域都有广阔的开展前景。AMD Fusion与Nvidia不同,AMD走了一条全新的路子:将CPU和GPU融为一体,打造了AMDFusion,即APU(Acceler

12、ated Processing Units)。这是AMD融聚将来理念的产品,它第一次将处理器和独显核心做在一个晶片上,协同计算、彼此加速,同时具有高性能处理器和最新支持DX11独立显卡的处理性能,大幅提升电脑运行效率,实现了CPU与GPU真正的交融。与传统的x86中央处理器相比, APU提出了“异构系统架构”(Heterogeneous System Architecture,HSA),即单芯片上两个不同的架构进展协同运作。以往集成图形核心一般是内置于主板的北桥中。而AMD Fusion工程那么是结合现时的处理器和绘图核心,即是将处理一般事务的CPU核心、处理3D几何任务以及图形核心之扩展功能的现代GPU核心、以及主板的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论