专栏首页程序员叨叨叨1.1 Programmable Graphics Processing Unit 发展历程

1.1 Programmable Graphics Processing Unit 发展历程

文章内容源自《GPU编程与CG语言之阳春白雪下里巴人》

第1章 绪论

面纱掩盖了过去、现在和将来,历史学家的使命是发现它现在是什么,而不是过去是什么。 ——Henry David Thoreau


1.1 Programmable Graphics Processing Unit 发展历程

Programmable Graphics Processing Unit(GPU),即可编程图形处理单元,通常也称之为可编程图形硬件。

GPU 概念在 20 世纪 70 年代末和 80 年代初被提出,使用单片集成电路(monolithic)作为图形芯片,此时的 GPU 已经被用于视频游戏和动画方面,它能够很快地进行几张图片的合成(仅限于此)。在 20 世纪 80 年代末到 90 年代初这段时间内,基于数字信号处理芯片(digital signal processor chip)的 GPU 被研发出来,与前代相比速度更快、功能更强,当然价格是非常的昂贵。在 1991 年,S3 Graphics 公司研制出第一个单芯片 2D 加速器,到了 1995 年,主流的 PC 图形芯片厂商都在自己的芯片上增加了对 2D 加速器的支持。与此同时,固定功能的视窗加速器(fixed-function Windows accelerators)由于其高昂的价格而慢慢退出 PC 市场。

1998 年 NVIDIA 公司宣布 modern GPU 的研发成功,标志着 GPU 研发的历史性突破成为现实。通常将 20 世纪 70 年代末到 1998 年的这一段时间称之为 pre-GPU 时期,而自 1998 年往后的 GPU 称之为 modern GPU。在 pre-GPU 时期,一些图形厂商,如 SGI、Evans & Sutherland,都研发了各自的 GPU,这些 GPU在现在并没有被淘汰,依然在持续改进和被广泛的使用,当然价格也是非常的高昂。

modern GPU 使用晶体管(transistors)进行计算,在微芯片(microchip)中, GPU 所使用的晶体管已经远远超过 CPU。例如,Intel 在 2.4GHz 的 Pentium IV 上使用 5 千 5 百万(55 million)个晶体管;而 NVIDIA 在 GeForce FX GPU 上使用超过 1 亿 2 千 5 百万(125 million)个晶体管,在 NVIDDIA 7800 GXT 上的晶体管达到 3 亿 2 百万(302 million)个。

回顾 modern GPU 的发展历史,自 1998 年后可以分为 4 个阶段。NVIDIA 于 1998 年宣布 modern GPU 研发成功,这标志着第一代modern GPU 的诞生,第一代 modern GPU 包括 NVIDIA TNT2,ATI 的 Rage 和 3Dfx 的 Voodoo3。这些 GPU 可以独立于 CPU 进行像素缓存区的更新,并可以光栅化三角面片以及进行纹理操作,但是缺乏三维顶点的空间坐标变换能力,这意味着“必须依赖于GPU 执行顶点坐标变换的计算 ”。这一时期的 GPU 功能非常有限,只能用于纹理组合的数学计算或者像素颜色值的计算

从 1999 到 2000 年,是第二代 modern GPU 的发展时期。这一时期的 GPU 可以进行三维坐标转换光照计算(3D Object Transformation and Lighting, T&L),并且 OpenGL 和 DirectX7 都提供了开发接口,支持应用程序使用基于硬件的坐标变换。这是一个非常重要的时期,在此之前只有高级工作站 (workstation)的图形硬件才支持快速的顶点变换。同时,这一阶段的 GPU 对于纹理的操作也扩展到了立方体纹理(cube map)。NVIDIA 的 GeForce256, GeForce MAX,ATI 的 Radeon 7500 等都是在这一阶段研发的。

2001年是第三代modern GPU的发展时期,这一时期研发的GPU提供vertex programmability(顶点编程能力),如 GeForce 3,GeForce 4Ti,ATI 的 8500 等。 这些 GPU 允许应用程序指定一个序列的指令进行顶点操作控制(GPU 编程的本质!),这同样是一个具有开创意义的时期,这一时期确立的 GPU 编程思想一直延续到 2009 年的今天,不但深入到工程领域帮助改善人类日常生活(医疗、地质勘探、游戏、电影等),而且开创或延伸了计算机科学的诸多研究领域 (体绘制、光照模拟、人群动画、通用计算等)。同时,Direct8 和 OpenGL 都本着与时俱进的精神,提供了支持 vertex programmability 的扩展。不过,这一时期的 GPU 还不支持像素级的编程能力,即 fragment programmability(片段编程能力),在第四代 modern GPU 时期,我们将迎来同时支持 vertex programmability 和 fragment programmability 的 GPU。

第四代modern GPU的发展时期从2002年末到2003年。NVIDIA的GeForce FX和ATI Radeon 9700同时在市场的舞台上闪亮登场,这两种GPU都支持vertex programmability 和 fragment programmability。同时 DirectX 和 OpenGL 也扩展了 自身的API,用以支持vertex programmability和fragment programmability。自2003年起,可编程图形硬件正式诞生,并且由于 DirectX 和 OpenGL 锲而不舍的追赶潮流,导致基于图形硬件的编程技术,简称 GPU 编程,也宣告诞生。恭喜 GeForce 和 ATI 的硬件研发人员,你们终于可以歇口气了,不用较着劲地出显卡了,同时也恭喜 DirectX 和 OpenGL 的研发人员,你们也可以休息下了,不用斗鸡一般的工作了,最后恭喜广大工作在图形图像领域的程序员,你们可以继续学而不倦。

目前新的可编程图形硬件已经具备了如下功能:

    1. 支持 vertex programmability 和 fragment programmability;
    1. 支持 IEEE32 位浮点运算;
    1. 支持 4 元向量,4 阶矩阵计算;
    1. 提供分支指令,支持循环控制语句;
    1. 具有高带宽的内存传输能力(>27.1GB/s);
    1. 支持 1D、2D、3D 纹理像素查询和使用,且速度极快;
    1. 支持绘制到纹理功能(Render to Texture,RTT)。

关于 GPU 发展历史的相关数据参考了 Feng Liu 的“Platform Independent Real-time X3D Shaders and Their Applications in Bioinformatics Visualization”一文。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 1.4 本书主要内容和结构

    本书旨在引导初级 GPU 学习者步入 GPU 编程的大堂,并普及一些在国内资料中较少见到的 GPU 算法,例如光照渲染中的 bank BRDF,以及体绘制中的光...

    代码咖啡
  • 1.3 国内外研究现状

    基于 GPU 的科学可视化计算(Visualization in Scientific Computing),在研究和工程运用上都取得了卓越的成果。由于科学可视...

    代码咖啡
  • 1.2 GPU VS CPU

    从上节阐述了GPU的发展历史,那么为什么在CPU之外要发展GPU?GPU 的 vertex programmability 和 fragment program...

    代码咖啡
  • [译]GPU加持,TensorFlow Lite更快了

    由于处理器性能和电池容量有限,在移动设备上使用计算密集的机器学习模型进行推断是非常耗资源的。 虽然可以采用一种加速途径:转换为定点数模型,但用户已经要求作为一种...

    云水木石
  • 学习笔记︱深度学习以及R中并行算法的应用(GPU)

    版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! ...

    素质
  • 【杂谈】学深度学习的你有GPU了吗

    计算机常见的处理器包括CPU和GPU,CPU即中央处理单元(Central processing unit),它是计算机的控制核心。CPU需要很强的通用性来处理...

    用户1508658
  • 英伟达深度学习专家路川详解“如何升级GPU深度学习系统”

    GPU 成为在构建深度学习系统时必不可少的需要关注的方向,但是诸如如何选择一款 GPU 来搭建深度学习平台,如何升级自己的 GPU 之类的问题一直困扰着开发者。...

    小莹莹
  • 人工智能&大数据:加速GPU在数据中心领域的应用

    随着数据需求工作负载渗透到数据中心并覆盖传统的CPU性能,GPU各供应商已经为数据中心补充了全新的设备和显示卡。 最近大数据、人工智能以及机器学习的潮流正在企业...

    企鹅号小编
  • 【深度分析】深度学习选GPU,RTX 20系列值不值得?

    深度学习常被戏谑为“炼丹术”,那么,GPU于深度学习研究人员而言就是不可或缺的“炼丹炉”。

    新智元
  • 推荐5种让数据库快的飞起的GPU加速产品

    GPU承诺会彻底改变大数据分析领域,从当前来看,这并不是虚言,当我们数据量达到一定级别的时候,我们一定会转向使用GPU。大多数的数学密集型应用都包含机器学习框架...

    GPUS Lady

扫码关注云+社区

领取腾讯云代金券