刚才我们提到并行计算,其实这恰恰是GPU的优势所在。GPU是显示卡的“心脏”,有时也被称为VPU(visual processing unit)。它相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。
GPU(图形处理器)可用于嵌入式系统、移动电话、个人电脑、工作站、游戏机,甚至某些大型计算机集群等。GPU已经不再局限于3D图形处理了,GPU通用计算技术发展已经引起业界不少的关注,事实也证明在浮点运算、并行计算等部分计算方面,GPU可以提供数十倍乃至于上百倍于CPU的性能。
GeForce 6600GT (NV43) GPU
GPU通用计算方面的标准目前有OPEN CL、CUDA、ATI STREAM。其中,OpenCL(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。
GPU的出现的时间明显要晚于CPU,而且GPU最早还是由著名的图形显卡公司——NVIDIA,在1999年发布 GeForce256图形处理芯片时首先提出GPU的概念。
介绍GPU发展历史,就不能不提1983年英特尔公司推出的 iSBX 275,它是iSBX多模块板,插在iSBC系列单板上,由它提供黑白或彩色图形显示功能。在板上安装的82720图形显示控制器(GDC)的控制下,直接可支持直线、圆、点、弧、矩形、区域填充等高级绘图命令。从而给用户绘图工作带来便利,同时减轻了主CPU的负担。
1985年,首个配备有GPU功能的PC——Commodore Amiga面世。该GPU支持画线,区域填充,并包含流处理器可加快操作,并结合多个任意位图功能。1986年,德州仪器发布了首个内嵌图形处理能力的微处理器——TMS34010,它可以运行通用代码,但还是侧重于面向图形处理的指令集。1990-1991年间,该芯片奠定了Windows加速卡图形架构( TIGA )的基础。
1987年,IBM 8514图像系统发布,成为了IBM PC兼容2D图像处理器的首个视频卡。1993年,S3 Graphics推出了第一款单芯片的2D图像加速器,名为S3 86C911。其后,86C911催生了大量的仿效者。随着OpenGL API和DirectX类似功能的出现,GPU增加了可编程着色的能力。现在,每个像素可以经由独立的小程序处理,当中可以包含额外的图像纹理输入,而每个几何顶点同样可以在投影到屏幕上之前被独立的小程序处理。
GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时。GPU所采用的核 心技术有硬体T&L、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位 渲染引擎等,而硬体T&L技术可以说是GPU的标志。但随着GPU处理能力的提升,其耗电需求也更加明显,而且比目前的CPU消耗更多的电源。
目前市场上生产GPU的厂家,主要包括英特尔、AMD和NVIDIA、Matrox、S3 Graphics等。