- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NVIDIA Fermi 体系架构技术预览
“与只是简单地增加规模和满足 DirectX 11 的产品更新相比,Fermi 的设计团队解决了若干个 GPU Computing 方面最棘手的难题。”
NVIDIA GPU 历史概要
本文将在 10 月 15 日微型计算机的杂志上发表,未经授权请勿转载
溯源——什么是 GPU? 在 1999 年 8 月末,两家图形芯片公司一前一后各宣布了一款图形芯片,它们分别是 8 月 30 日的 Savage 2000(代号 S3 GX4)以及 8 月 31 日的 GeForce 256(代号 NV10)。虽然发布时间非常接近,但是前者由于关键的 TnL 单元存在瑕疵以及贫弱的驱动程序支持力度,让设计该芯片的 S3 Graphics 公司从此一蹶不振。与之相比,NVIDIA 公司凭借着 GeForce 256 以及衍生的产品,在市场上取得了巨大的成功。
NV10 管芯图,N10 晶体管数量 2300 万
在 GeForce 256 发布一年后,NVIDIA 的整体市场份额(统计数据包括笔记本、工作站、整合图形)从原先的 12% 提升到 22%。
同一时段,ATI 是从 29% 下跌到 22%;S3 Graphics 从 10% 下跌到不到 5%。Intel 由于整合图形芯片,因此能在这个时期的图形市场份额从 20% 提升到 33%,但是在半年后(01 年第二季度)英特尔的份额直线下跌到 14%,此时 NVIDIA 份额达到了 37%,成为真正的图形市场霸主。
在发布 GeForce 256 的时候,NVIDIA 提出了一个名为 GPU(Graphics Processor Unit)的概念,而 GPU 具体的含义被 NVIDIA 定义为,拥有整合的 TnL、三角形 Setup/Clipping,渲染引擎至少能达到每秒 10 百万三角形或以上的图形芯片。
当然,GPU 的这个定义实际上已经没有多少人还记得,人们现在更多的只是简单地把三维图形芯片称作 GPU,尽管在此后不久 3D Labs 公司提出了 VPU 的概念,并且 ATI 也曾经跟风过 VPU 一段时间,但是现在包括 AMD、Intel,他们已经完全接纳了 GPU 这个称呼,现在提起 VPU,更容易让人想起的是 VPU Recover 的 GPU 重置现象。
由于人们对图形效果真实性近乎无限的需求,现在的 GPU 已经远非 10 年前那个每秒处理 1500 万多边形、480 百万纹理元素的 GeForce 256 所能相提并论的。
从 GPGPU 到 GPU Computing 在现在的 GPU 上,TnL 处理已经不再是固定功能单元完成,而是由完全可编程的统一着色器单元执行,GPU 承担了几乎整个图形渲染流程并且开始在更多由 CPU 执行的传统任务中扮演重要的角色,例如从 2003 年开始我们就看到了在诸如蛋白质折叠、SQL 查询、核磁共振成像重建等适合于发挥并行运行特性的计算领域中有了 GPU 的身影。
当时的 GPU 非图形应用仍然使用 DirectX、OpenGL 这样的图形 API,人们称之为 GPGPU。虽然 GPGPU 证明 GPU 在通用计算上有潜力,但是要求程序员必须具备对这些图形 API 和 GPU 体系结构的知识,求解的问题需要采用顶点坐标、纹理、着色器程序等图形术语来描述。
虽然后来斯坦福大学提供了 Brook 高级 GPGPU 语言,程序员基本上不需要学习图形学上的概念,但是 Brook 实际上还是基于 3D API,只是可以使用类似 C 的语言来编写程序,经过 Brook 可以转换成 OpenGL GLSL、D3D HLSL。
因此 Brook 虽然简化了 GPGPU 学习过程,但是功能上就受到 3D API 的约束,诸如像可定址的读操作/写操作等基本的编程特性无法支持,导致编程模型受到很大的约束,最后受到当时 GPU 的限制,在某些科学应用中所需的双精度支持在当时的 GPU 中也是欠缺的。
在 2006 年,NVIDIA 籍发布 GeForce 8800 GTX(芯片代号:G80,架构代号:Tesla)的机会,推出名为 CUDA 的通用计算架构。
CUDA 其实是由硬件和软件两部分组成,在硬件而言,指的是 Tesla 及其衍生的硬件架构,而在软件而言,包括了 CUDA C 编译器以及围绕 Tesla 的各种开发工具(而在一些玩家心目中,提到 CUDA 的时候往往以为只是指 CUDA C,这样的想法并不正确或者至少并不全面)。
透过 CUDA 的扩展工具,程序员可以直接为针对通用用途的大规模并行处理器编写程序,而不是透过图形 API 给图形处理器编写程序。
对于这样的先进编程模型,NVID
文档评论(0)