CUDA and the rise of NVIDIA - editorial illustration

黄仁勋、CUDA与英伟达的崛起

引言

1993年,黄仁勋与他人共同创立英伟达时,公司的目标是将3D图形带入电脑游戏和多媒体领域。如今,同一家公司的处理器被用来训练和运行人工智能模型。要理解这一转变,不妨从黄仁勋的工程背景和英伟达打造的软件平台CUDA说起。[1] [1]

1. 黄仁勋的工程生涯

黄仁勋出生于台湾,1984年获得俄勒冈州立大学电气工程学士学位。1984年至1985年,他在AMD担任微处理器设计师,随后于1985年至1993年在LSI Logic担任过多个职位。他后来成为Coreware部门的总监,该部门负责公司将计算机系统的多个组件集成到单一芯片上的战略。在此期间,他还于1992年获得了斯坦福大学电气工程硕士学位。[2] [1]

1993年4月5日,黄仁勋与克里斯·马拉科夫斯基和柯蒂斯·普里姆共同创立了英伟达。自公司成立以来,他一直担任总裁、首席执行官和董事会成员。1999年,英伟达进行了首次公开募股。同年,公司推出了GeForce 256,这是公司图形处理器(GPU)发展史上的一个里程碑。[1] [1]

2. CUDA是什么?

英伟达于2006年推出CUDA,作为在其GPU上并行执行大量计算的软件平台和编程模型。GPU是执行计算的硬件,CUDA则提供开发者在该硬件上运行计算所需的编程工具。这让为图形而造的GPU向科学研究、高性能计算和人工智能应用敞开了大门。[1] [1]

想象一下提亮一张有一百万像素的图片。一个像素的计算可以独立于其他像素进行。CUDA程序可以把这项工作拆分成更小的计算,并在GPU上运行。在GPU上运行的函数称为内核。许多线程并行执行它,每个线程处理分配给它的那部分数据。将工作拆分成可并行执行的部分这一原理,同样适用于大规模矩阵乘法等AI计算。[3] [1]

3. CUDA如何助力AI行业

训练神经网络时,模型首先做出预测。训练过程会测量误差并更新模型参数,并反复多次。GPU加速了矩阵乘法等运算,让研究人员有时间进行更多实验,也使训练更大的模型变得切实可行。GPU在训练之后的推理阶段同样被使用,例如语言模型为用户生成回答时。[4] [1]

AlexNet在2012年提供了一个实际的例证。它在英伟达GPU上训练,赢得了ImageNet图像分类竞赛。它的表现表明,用于电脑游戏的图形处理器同样可以训练出识别图像的模型。[1] [1]

4. CUDA如何为英伟达带来持久优势

英伟达为开发者频繁需要的计算构建了优化的库和工具。cuBLAS加速矩阵运算,cuDNN支持常见的神经网络运算,NCCL处理跨GPU通信,TensorRT帮助训练好的模型更快运行。PyTorch等框架支持CUDA,因此开发者无需从零编写每一个GPU操作,就能使用这些能力。[5] [1]

结论

这一软件生态系统强化了英伟达的硬件业务。一个团队可以在继续使用熟悉的软件和工具的同时,从小型实验扩展到跨多个GPU运行的系统。更换硬件可能要求团队审查其CUDA依赖、调整部分软件并重新测试性能。由于多年来在硬件之外持续投资软件,当AI计算需求增长时,英伟达已经为早已熟悉这些工具的开发者准备好了它们。[1] [1]

参考资料

  1. https://www.nvidia.com/en-us/about-nvidia/corporate-timeline/
  2. https://s201.q4cdn.com/141608511/files/doc_financials/annual/2013/NVDA_2013AR_Proxy_10K-FINAL.pdf
  3. https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/writing-cuda-kernels.html
  4. https://docs.nvidia.com/cuda/cuda-programming-guide/index.html
  5. https://developer.nvidia.com/machine-learning

关于黄仁勋、CUDA与英伟达崛起的问答

CUDA是什么?英伟达为什么要开发它?

CUDA是英伟达于2006年推出的软件平台和编程模型,用于在其GPU上并行运行大量计算。GPU是硬件;CUDA提供编程工具,使图形硬件向科学研究、高性能计算和AI开放。

CUDA如何助力AI行业?

训练神经网络意味着反复进行预测、误差测量和参数更新。GPU加速了矩阵乘法等运算,使研究人员能够进行更多实验、训练更大的模型。在英伟达GPU上训练的AlexNet通过赢得2012年ImageNet竞赛证明了这一点。

为什么CUDA能为英伟达带来持久优势?

英伟达构建了开发者经常需要的优化库——用于矩阵运算的cuBLAS、用于神经网络运算的cuDNN、用于多GPU通信的NCCL和用于更快推理的TensorRT——而PyTorch等框架支持CUDA,因此团队无需重写软件,即可从小型实验扩展到多个GPU。

Powered By K7