业界 | 芯片群侠传:首个可配置图形处理器 Nvidia NV20

百家 作者:大数据文摘 2018-12-31 06:15:44


大数据文摘出品

编译:李雷、笪洁琼、云舟


本文系芯片群侠传第二篇,阅读第一篇请点击此处


Nvidia NV20是首个可配置图形处理器,它为机器学习的革命打开了大门。


现在,已经有许多研究人员选择强大的图形处理单元(GPU)来运行气候模型和其他科学项目,而科技和金融巨头则会使用大量的GPU来训练机器学习算法。他们都要感谢视频游戏玩家:是游戏玩家提出了对芯片的最初需求,这些芯片要能进行大量的并行数字运算,从而快速生成丰富的画面以展现游戏人物的动作。


当然,游戏玩家并不是推动图形技术发展的唯一人群。到1995年,像皮克斯动画工作室(Pixar)的“玩具总动员”这样的电影,已经展示了高质量电脑动画的潜力。但游戏玩家们确实将这项技术锁定在了一个十分具体的方向。皮克斯是通过逐帧渲染然后将它们拼接在一起来从而完成整部电影,但游戏玩家只对可以实时生成图形的技术感兴趣。


这种更快更好地生成图像的需求自20世纪70年代随着主流视频游戏问世就已经存在。到了20世纪90年代末,用于游戏市场的图形芯片相较于它最初那些分辨率为300×200像素的彩色图像已经改善很多了。但是,2001年GeForce 3品牌发布的Nvidia NV20是一个不容忽视的关键转折点,并且偶然地打开了科学计算和人工智能的大门。


在1998年,当Nvidia团队开始研究NV20时,为动态视频游戏生成丰富的画面仍然是一项巨大的计算挑战。“我一直对能够实时创建超逼真图像这个想法很着迷,”NV20系统架构师Steven Molnar说。当时的众多图形处理器尚无法实时生成复杂的纹理,逼真的反射表面或阴影。而由于采用了新架构,NV20将为游戏开发商提供所有这些功能。


NV20的首席架构师John Montrym说,当时GPU的市场竞争非常激烈。制造商必须在提供新的(并且可能很贵的)但游戏设计师可能并不会使用的功能,以及确保他们的新芯片仍能有效地运行现有的图形程序两者之间取得平衡。在NV20中,Nvidia决定冒险选择一款耗资巨大且难以制造的设计,这项设计需要对公司现有的图形芯片架构进行重大改变。


Montrym和Molnar专注于简化芯片的操作。他们改变了内存的分区方式,将128位数据块分成4个32位数据块,这使得从内存中读取数据更加高效。他们还采用了一种称为z-cull的系统,该系统可以预测3D场景中的哪些像素将被其他物体遮挡,并将这些不需要的像素数据从工作存储器中移出以节省处理能力。所有这些都使得芯片能够更快更好地生成图像,但同时,这也使得芯片难以制造。


为了将这些新功能加入NV20,硬件工程师John Robinson不得不采用当时最新的半导体技术 - 制造150纳米的芯片。Robinson想起当时的压力就觉得无比唏嘘。他说:“我觉得那块芯片比当时已有的芯片要大一点点,这是很难生产的。”但经过比以往更多的试验和错误后,Robinson最终生产出了这种芯片。


另一个重大风险是让开发人员直接面对NV20的框架和其缺陷。“如果你想要真正逼真的图像,就需要让开发人员可以对芯片进行编程,”Molnar说。NV20不是完全可编程的,但是却是Nvidia第一次使某些板载功能可以由游戏开发人员来进行配置。凭借这一点,开发人员可以访问并调整GPU的像素和顶点着色器(一组指令代码,在顶点被渲染时执行)。


像素着色器是使计算机图像看起来逼真的关键。物体可能具有精致细腻且逼真的3D形状,但如果它看上去不像是由某种材料制成并且以该材料特有的方式反射光,它就仍会显得不立体不真实。顶点着色器允许物体在显示过程中重塑其形状,有助于构造3D物体的立体感。例如,Molnar解释说,开发人员可以编程改变水面的高度来模拟波浪,或编程显示动画形象关节的移动。


通过让游戏开发人员根据他们的需求调整NV20的着色器(包括从头开始编写自己的顶点着色器功能),而不是被芯片设计师选择的东西所局限,他们可以在不牺牲游戏速度的情况下创建更逼真的游戏场景。


这个开放编程的决定开启了将GPU应用于图形以外的场景的大门。随着后续几代GPU提供越来越多的可编程性,开发人员开始为了自己的目的而改造它们 - 这种做法最终导致GPU转为用于科学计算和训练机器学习算法。这是因为这种架构可以根据游戏设计者的偏好并行处理屏幕上无数的像素点,这正好是处理其他大规模并行数学问题所需要的,例如调整神经网络的权重。Montrym说,NV20是迈向这条道路的第一步。


最初的XBox使用了NV20的一个版本,将微软推向了游戏的最前沿,开发了像Halo:Combat Evolved这样的突破性游戏。


事实证明,这些冒险在短期内也得到了回报。微软为其首款Xbox游戏机选择了NV20的一个自定义版本,并开发出了一款爆款游戏。具有讽刺意味的是,NV20的主要工程师都没有玩过视频游戏,他们对后来的科学计算和人工智能更加着迷。“我没有时间玩电子游戏; 我太忙了!”Montrym说。“计算机游戏某种程度上为GPU的发展买了单,它使得我们能够继续发展。而现在,基于GPU的通用计算正在为社会创造巨大的价值。”


相关报道:

https://spectrum.ieee.org/tech-history/silicon-revolution/chip-hall-of-fame-nvidia-nv20




365个机器学习概念

“耐撕”的AI日历

限量预售ing☟



志愿者介绍

后台回复志愿者”加入我们

你点的每次好看,我都认真当成了喜欢

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接