第一章:算力革命的前夜 | Before the Computing Revolution
当历史的时针拨回到1993年,全球科技产业正处于一个微妙而激动人心的转折点。在加利福尼亚州帕洛阿尔托的一间不起眼的办公室里,三位年轻人正在酝酿一个将改变整个计算世界的想法。他们是黄仁勋(Jensen Huang)、克里斯·马拉斯科夫斯基(Chris Malachowsky)和柯蒂斯·普里姆(Curtis Priem),三位来自太阳微系统公司(Sun Microsystems)的工程师,正准备在图形处理这个当时被视为“小众市场”的领域里,书写属于自己的传奇篇章。他们的公司将被命名为NVIDIA——一个融合了"vision"(视觉)和"future"(未来)的名字,寄托着创始人们对图形计算未来的无限憧憬。
要理解英伟达诞生的历史意义,我们必须首先回到那个时代的技术背景中。1993年的全球个人电脑市场正处于爆发前夜。根据IDC(国际数据公司)的统计,1993年全球个人电脑出货量约为4000万台,而这一数字在接下来的五年内将翻一番,达到近8000万台。微软的Windows操作系统刚刚在1992年推出Windows 3.1,正在逐步取代DOS成为个人电脑的主流操作环境。英特尔则刚刚推出具有划时代意义的Pentium处理器,CPU的性能每年都在以惊人的速度提升。整个产业沉浸在“更快、更强”的追求中,似乎只要CPU足够强大,就能解决所有的计算问题。
然而,在这场看似热闹的算力竞赛中,有一个领域始终被主流所忽视——那就是图形的实时渲染与处理。当你去观察1993年的普通电脑时,会发现一个有趣的现象:显示器上的图像大多是单调的色块和简单的几何图形,文字清晰但缺乏美感,游戏画面更是简陋得可怜——那些所谓的“3D游戏”实际上只是用二维贴图模拟三维效果的伪3D,偶尔出现的人物角色看起来更像是粗糙的卡通。这是一个巨大的痛点,也是一个被忽视的机遇。三位创始人敏锐地察觉到了这一点,他们相信:随着个人电脑的普及,人们对于视觉体验的追求将会指数级增长,而图形处理将成为未来计算的核心需求之一。
要理解英伟达为何选择图形处理这条道路,我们需要深入了解GPU与CPU在设计理念上的根本差异。这两种处理器虽然都是硅基半导体芯片,都执行计算任务,但它们的设计哲学、架构特点和适用场景有着天壤之别。为了让读者更好地理解这种差异,我们不妨用一个生活中的比喻来说明。
想象你要举办一场盛大的晚宴,需要准备100道菜品。如果你只有一个“全能厨师”(相当于CPU),这位厨师需要从头到尾负责所有工作:采购食材、洗菜切菜、烹饪调味、摆盘装饰。他/她必须按顺序一道一道地完成,每道菜都需要精心照料。这样的效率在菜品数量较少时还算可以接受,但当菜品数量达到100道时,这位厨师恐怕要忙得焦头烂额,晚宴也会变成一场漫长的等待。现在,想象你把同样的任务分配给一个“厨师团队”(相当于GPU)。这个团队可能包含100位专业厨师,每人专门负责一到两道特定类型的菜品。第一个人专门做前菜,第二个人专做汤品,第三个人专做主菜……他们可以同时工作,同时烹饪不同的菜品。虽然每位厨师可能不如那位“全能厨师”多才多艺,但在处理各自擅长的任务时,他们的效率和产能是惊人的。这就是CPU与GPU在并行计算能力上的本质区别:CPU如同一位精通各种技能的单核心或多核心大师,擅长处理复杂的、串行的、需要高度灵活性的任务;而GPU则像一支由成百上千个简单但专业化的工人组成的大军,擅长同时处理大量简单的、重复的、可以并行化的任务。
从技术架构的角度来看,这种差异更加明显。让我们以1993年主流CPU为例——比如英特尔的486DX2处理器,它拥有约120万个晶体管,运行频率为50MHz,具有简单的超标量流水线结构,可以同时执行少量指令。而当时专门用于图形处理的图形芯片,比如S3 Graphics推出的ViRGE芯片,虽然功能相对简单,但已经展现出GPU的雏形特征:它包含专门的渲染管线,用于处理像素着色、纹理映射和几何变换等图形任务。这种专用化的设计使得图形芯片在处理视觉数据时,远比通用CPU高效得多。然而,这种“专用化”也是一把双刃剑——它让图形芯片在图形渲染方面表现出色,但在其他任务上却几乎毫无用处。这正是为什么在当时,许多人认为专门为图形处理设计芯片是一个“疯狂”的想法:市场太小众,技术太专用,风险太高昂。
让我们更深入地理解GPU与CPU的架构差异。现代GPU架构通常采用SIMD(单指令多数据)或SIMT(单指令多线程)的并行执行模型。以NVIDIA的CUDA架构为例,一个典型的GPU包含数百到数千个流式多处理器(Streaming Multiprocessor,SM),每个SM又包含数十到上百个CUDA核心。这些核心可以同时执行相同的指令,但操作不同的数据。想象一下:如果你要为一幅10000×10000像素的图像应用一个亮度调整滤镜,在CPU上,你可能需要编写一个循环,逐像素地处理,耗时数秒甚至数十秒;而在GPU上,你可以同时启动成百上千个线程,每个线程负责处理图像的一小部分,在几毫秒内完成同样的任务。这种并行性的提升是指数级的,而非线性的。用更专业的术语来说,GPU的理论浮点运算能力(FLOPs)通常是同期CPU的10到100倍,尽管在单线程性能上,CPU仍然保持着领先优势。
然而,1993年的图形芯片与今天的GPU有着天壤之别。当时的图形芯片更像是今天的“固定功能管线”(Fixed Function Pipeline),它们被设计用来执行预定义的图形操作,比如光栅化(Rasterization)、纹理映射和简单的像素混合。用户几乎无法对芯片进行编程——所有图形处理逻辑都硬编码在硬件中。这与今天GPU的可编程性形成了鲜明对比。NVIDIA的第一款产品NV1(代号RIVA 128),发布于1995年,就是这种早期探索的代表。NV1是业界首款集成了几何处理引擎的图形芯片,它支持硬件曲线和曲面渲染,这在当时是一项创新。然而,由于采用了非标准的Quadratic渲染技术,NV1在与主流游戏和应用程序的兼容性上遇到了挑战。NVIDIA从这次经历中学到了重要的一课:在图形这个标准化程度极高的领域,遵循行业标准有时比技术创新更重要。
现在,让我们把目光聚焦到三位创始人身上,理解是什么样的个人经历和愿景驱使他们走上这条道路。黄仁勋,出生于1963年的台湾台南,九岁时随家人移民美国,在肯塔基州和俄勒冈州度过了他的少年时代。他早年在俄勒冈州立大学获得了电气工程学士学位,随后又在斯坦福大学获得了硕士学位。在创办NVIDIA之前,黄仁勋在AMD和LSI Logic等公司工作过积累了丰富的芯片设计经验。黄仁勋曾回忆说,他在童年时期就展现出了对电子设备的浓厚兴趣,常常把家里的电子产品拆开研究,这为他后来从事芯片工程埋下了伏笔。在斯坦福大学期间,他深入研究了图形学和并行计算,这些学术积累为他后来在NVIDIA推动GPU通用计算革命奠定了理论基础。黄仁勋性格中有一个显著的特质:他对技术有着近乎偏执的追求,同时又具备敏锐的商业直觉。这种特质在他日后的领导风格中体现得淋漓尽致——他被称为“技术狂人”,但绝不是那种脱离市场的技术理想主义者。
克里斯·马拉斯科夫斯基是三人中的另一位关键人物。与黄仁勋一样,他在创办NVIDIA之前也在Sun Microsystems工作,担任图形硬件工程师。马拉斯科夫斯基在图形学领域有着深厚的专业知识,他参与了多个图形加速技术的开发项目,对图形渲染管线的硬件实现有着深入的理解。在NVIDIA早期,马拉斯科夫斯基负责硬件架构设计,他主导开发的多项创新技术成为NVIDIA图形芯片成功的关键。后来,虽然马拉斯科夫斯基于2004年离开了NVIDIA,但他仍然是公司历史上最重要的技术先驱之一。
柯蒂斯·普里姆是三人组的第三位成员,同样来自Sun Microsystems。与前两位相比,普里姆的背景更加偏向软件和应用层面。他曾在多家公司工作过,在图形驱动程序和软件架构方面积累了丰富的经验。普里姆对图形处理软件栈的理解,为NVIDIA早期产品的软件生态建设提供了重要支持。他深知,仅有强大的硬件是不够的,还需要优秀的软件来充分发挥硬件的潜力。这一理念在日后成为NVIDIA企业文化的重要组成部分。
1993年4月的某一天,三位创始人在加州弗里蒙特的一家中餐馆里正式创立了NVIDIA。关于这顿饭还有一个有趣的细节:据说黄仁勋当时告诉他的妻子洛里·黄(Lori Huang),他想创办一家公司,他的妻子问他为什么,黄仁勋回答说,他想确保在他40岁的时候能够有意义地回顾自己的人生。1993年,黄仁勋正好30岁,他给自己定了一个十年期限。这个故事从一个侧面展现了黄仁勋的性格特点:务实、专注、目标导向。他不是一个空想家,而是一个行动者。
初创期的NVIDIA面临巨大的挑战。当时的图形芯片市场竞争激烈,已经存在数十家竞争对手,包括3dfx Interactive、Matrox、S3 Graphics等众多公司。资本市场的态度也相当谨慎——毕竟,图形处理被认为是一个过于专业化、市场规模太小的领域。三位创始人最初的创业资金仅为4万美元,这笔钱主要来自黄仁勋的个人储蓄和向家人朋友的借款。相比之下,他们的竞争对手背后都有着雄厚的资金支持。3dfx Interactive在1994年从投资机构那里获得了1500万美元的风险投资,而S3 Graphics则是一家有着成熟产品线的上市公司。在这样的环境下生存和发展,NVIDIA必须找到自己的独特定位。
NVIDIA早期的商业策略体现了黄仁勋的务实主义思想。与一些竞争对手追求极致性能但忽视兼容性的做法不同,NVIDIA选择了一条更加平衡的道路。1997年推出的RIVA 128(也就是NV1的后续产品)就是一个很好的例子。RIVA 128采用了在当时看来非常激进的128位3D图形引擎,支持真彩色渲染和纹理过滤,更重要的是,它提供了对DirectX和OpenGL的完整支持。在1990年代中期的PC图形领域,DirectX和OpenGL是两大最重要的图形API标准,任何一款图形芯片如果不能良好地支持这些标准,就无法运行大多数主流游戏和应用程序。RIVA 128的成功证明了NVIDIA战略的正确性:它以合理的价格提供了接近高端专业显卡的性能,同时拥有出色的软件兼容性,迅速获得了游戏玩家和OEM厂商的青睐。
从市场竞争格局来看,1990年代中期的图形芯片市场呈现出群雄并起的局面。让我们来分析几家主要竞争对手的特点和战略。3dfx Interactive是当时的市场领导者,以其Voodoo系列图形加速卡闻名于世。Voodoo卡采用了独特的“纹理映射+光栅化”架构,在3D游戏性能上遥遥领先,但它有一个致命缺陷:它是一块纯3D辅助加速卡,必须配合一块2D显卡使用。这意味着用户需要同时购买两块显卡,成本高昂,系统配置复杂。此外,Voodoo卡不支持2D图形处理,也不提供任何视频输出功能,这让它的应用范围受到很大限制。相比之下,NVIDIA的RIVA 128是一款真正的“一体化”图形解决方案,同时处理2D和3D图形,并且支持视频输出功能。虽然在纯3D性能上可能略逊于Voodoo,但在整体产品力和成本效益上具有明显优势。这种“整合优于分离”的产品哲学,在日后成为NVIDIA对抗竞争对手的重要武器。
S3 Graphics则代表了另一种发展路径。作为一家有着较长历史的公司,S3在2D图形芯片领域有着深厚的技术积累。它的产品以稳定性和兼容性著称,主要面向OEM市场,为各大PC制造商提供集成图形解决方案。S3的策略是追求“够用就好”的性能和低廉的价格,目标市场是那些对图形性能要求不高但注重成本的企业用户和普通家庭用户。这种差异化策略让S3在1990年代初期取得了不错的市场份额,但随着3D游戏和图形应用的普及,这种“够用就好”的策略逐渐失去了吸引力。NVIDIA则准确地把握住了市场转型期的机遇,在保持合理价格的同时,不断提升3D性能,逐步蚕食了S3等厂商的市场份额。
Matrox是另一家值得关注的加拿大公司,以生产高质量的专业图形卡著称。Matrox的产品在色彩准确性和分辨率支持方面表现出色,主要应用于CAD/CAM和专业图形设计领域。然而,Matrox在3D游戏市场的投入相对有限,它的定位更像是“专业图形专家”而非“消费图形领军者”。这种专注细分市场的策略虽然让Matrox保持了稳定的利润,但在市场规模上难以与NVIDIA和3dfx等公司竞争。
ATi Technologies(后被AMD收购)是NVIDIA最持久的竞争对手之一。ATi成立于1985年,比NVIDIA早八年,在图形芯片领域有着丰富的经验积累。ATi的Rage系列图形芯片同样采用了一体化设计,同时支持2D和3D处理,在OEM市场有着很高的占有率。ATi的优势在于其完整的软硬件解决方案,包括图形芯片、驱动程序和视频编解码器等多方面技术。然而,在黄仁勋看来,ATi的创新速度相对缓慢,组织结构也较为僵化,这为NVIDIA日后超越ATi埋下了伏笔。
在分析了竞争格局之后,我们需要理解,为什么图形处理在1990年代初被视为一个“小众市场”,而NVIDIA的创始人却坚信这个市场有着巨大的潜力。答案在于他们对技术趋势的洞察和对用户需求的预判。
首先,让我们看看1993年前后的软件生态。微软的Windows操作系统正在快速普及,Windows 95预计将在两年后的1995年发布。与此同时,DOS平台下的游戏产业正在经历从2D向3D的转型。id Software的《德军总部3D》(Wolfenstein 3D,1992)和《毁灭战士》(DOOM,1993)开创了第一人称射击游戏的新纪元,虽然这些早期3D游戏主要依赖软件渲染,但它们清楚地表明了市场对更逼真、更流畅3D图形的强烈渴望。Epic Games的《虚幻》(Unreal,1998)和《雷神之锤》(Quake,1996)等游戏的出现,进一步推动了对专用图形硬件的需求。可以预见,随着3D游戏越来越复杂,软件渲染将很快达到性能瓶颈,专用图形芯片将成为市场的必需品。
其次,图形处理的应用场景正在从游戏领域向其他领域扩展。计算机辅助设计(CAD)、计算机辅助制造(CAM)、数字内容创作(DCC)、科学可视化、医学影像等领域对图形处理能力的需求正在增长。专业的图形工作站,比如Silicon Graphics(SGI)公司的产品,已经证明高端图形处理是一个有利可图的市场。虽然个人电脑的图形需求无法与专业工作站相比,但随着硬件成本的下降和性能的提升,这个差距正在缩小。
第三,也是最关键的一点:黄仁勋和他的同伴们看到了并行计算在未来的重要性。CPU的设计遵循着“更聪明而非更多”的哲学,通过提高时钟频率、增加缓存容量和改进指令流水线来提升性能。然而,这种改进方式面临着物理极限的挑战——当晶体管尺寸缩小到一定程度时,量子效应和功耗问题将成为不可逾越的障碍。相比之下,GPU的并行架构提供了一条不同的道路:通过增加更多的计算单元(而不是让每个单元变得更快),可以实现持续的性能提升。这种“可扩展性”是GPU相对于CPU的独特优势,也是日后GPU能够在通用计算领域大放异彩的根本原因。
让我们用一个具体的技术案例来说明CPU与GPU在并行计算潜力上的差异。假设我们需要计算两个大型矩阵的乘积C = A × B,其中矩阵A和B都是4096×4096的方阵。这是一个在科学计算和机器学习中极其常见的运算。从数学上看,矩阵乘法涉及4096³ ≈ 68.7亿次乘加运算(Multiply-Accumulate,MAC)。如果使用单个CPU核心执行这个任务,假设CPU每秒钟可以执行10亿次浮点运算(FLOPS),那么完成这个矩阵乘法需要约0.7秒。但这还没有考虑内存访问延迟和缓存命中率等因素,实际耗时可能会更长。如果使用一块拥有4096个计算单元的GPU,每个单元在同一时刻执行一个输出元素的计算(虽然每个元素涉及4096次乘加),理论上可以在与CPU几乎相同的时间内完成全部计算——前提是GPU的每个计算单元能够达到与CPU单核相近的计算效率。然而,GPU的设计正是为了高效执行这类并行度极高的运算。在实际测试中,一块1998年发布的GeForce 256(NVIDIA的第一款GeForce显卡)可以比同期最快的CPU快数十倍完成矩阵乘法任务。当然,1998年的GeForce 256与今天的GPU不可同日而语,但它开创的并行计算范式影响了整个计算产业。
回到1993年的视角,三位创始人的愿景不仅仅是开发一款成功的图形芯片,他们更希望建立一家能够重新定义计算本质的公司。黄仁勋曾多次在公开场合表示,他相信GPU的并行处理能力将最终改变世界,改变从视频游戏到科学研究的方方面面。当时这个想法听起来可能有些疯狂——毕竟,GPU是专门为图形渲染设计的,把它们用在科学计算上听起来就像是“大材小用”或“杀鸡用牛刀”。然而,正是这种看似疯狂的远见,让NVIDIA在日后成为了AI革命的核心推动者。
让我们回顾一下1990年代初期计算机产业的另一个重要趋势:3D图形API的标准化战争。1990年代中期,图形编程接口呈现群雄割据的局面。微软推出的Direct3D是Windows平台的官方图形API,但早期的Direct3D版本因为设计缺陷而备受批评。OpenGL则是一个跨平台的图形API,最初由Silicon Graphics开发,后来成为工业标准。此外,还有许多游戏开发商使用的专有API,比如id Software的 Doom 引擎使用的渲染技术。这场API战争对图形芯片制造商产生了深远的影响。谁能够更好地支持主流API,谁就能够赢得开发者的青睐,从而赢得市场。NVIDIA的策略是从一开始就坚定不移地支持OpenGL和Direct3D两大标准,即使这意味着需要投入更多的工程资源来优化驱动程序。这种“标准优先”的策略在日后被证明是正确的——当OpenGL和Direct3D最终成为行业主导时,NVIDIA已经成为这两个标准的最佳实现者之一。
现在,让我们从更宏观的历史视角来看待NVIDIA诞生的意义。1990年代初期,全球正处于冷战结束后的经济调整期,互联网革命还处于萌芽阶段(万维网在1991年才刚刚向公众开放)。在这个技术转型期,有远见的工程师和企业家们正在寻找下一个增长点。有些人选择了互联网(比如杨致远创办雅虎,马化腾创办腾讯),有些人选择了软件(比如比尔·盖茨的微软帝国),还有些人选择了硬件(比如张忠谋创立的台积电)。NVIDIA选择了图形处理,这个选择在当时看起来并不起眼,但正如我们后来所知,这个选择开启了一个全新的计算时代。
从半导体产业的角度来看,1990年代也是摩尔定律的黄金时期。每隔18到24个月,芯片上的晶体管数量就会翻倍,这是由英特尔创始人戈登·摩尔在1965年首次观察到的规律。这一规律不仅意味着芯片性能的提升,更意味着单位计算成本的下降。正是由于摩尔定律的作用,专用图形芯片的成本才能从专业工作站的高昂价格下降到普通消费者可以接受的范围。这也解释了为什么图形芯片市场能够在1990年代蓬勃发展——不是因为市场突然变大了,而是因为技术进步让这个市场从“不可行”变成了“有利可图”。
让我们用一个简单的数字来感受摩尔定律的威力。1989年