CUDA(计算统一设备架构)是一个并行计算平台和编程模型,由英伟达创建,于2006年首次发布,它允许开发者编写通用代码在英伟达图形处理器上运行,而不仅仅是图形渲染代码。它为程序员提供了一种相对便捷的方式来利用GPU的数千个并行核心进行任意计算,通过GPU专用结构扩展了C和C++等语言。
历史与目的
在CUDA出现之前,将GPU用于非图形计算需要将问题表达为图形操作,如纹理和着色器,这种变通方法除了计算机图形学领域外,很少有人觉得实用。英伟达于2006年发布CUDA消除了这一障碍,该平台在随后的十年中通过其在科学计算、计算金融以及从2010年代初起越来越多的深度学习研究中的采用而不断成熟。2012年,使用CUDA加速GPU训练的AlexNet取得的成功证明了深度学习的潜力,并推动了基于CUDA的GPU训练研究投入的激增,巩固了该平台在该领域的地位。
技术角色与生态系统
CUDA提供了底层库,如用于神经网络原语的cuDNN和用于线性代数的cuBLAS,大多数深度学习框架都构建在这些库之上。PyTorch和TensorFlow这两个占主导地位的深度学习框架都旨在CUDA上高效运行,截至2020年代中期,已发表的大多数深度学习研究和生产级AI系统都运行在支持CUDA的英伟达硬件上。这形成了一道强大的软件护城河:将大型AI代码库从英伟达GPU迁移到竞争对手的硬件(如AMD的ROCm平台或谷歌的张量处理单元)通常需要大量的工程工作,因为从个人研究代码到生产推理服务器等众多工具都是专门针对CUDA编写和优化的。
意义与批评
CUDA与GPU硬件本身一起,被广泛认为是英伟达在2020年代人工智能热潮中主导AI硬件市场的决定性因素,因为竞争对手很难仅靠匹配硬件性能来撼动英伟达的地位,因为从研究库到大型语言模型训练框架等大量软件生态系统都默认CUDA是可用的。对这一格局的批评者,包括竞争芯片制造商和一些AI实验室,将CUDA描述为一种专有的锁定机制,推高了成本并限制了整个行业的硬件选择,他们支持开放替代方案,如OpenAI的Triton语言,旨在使编写跨供应商可移植的GPU代码变得更容易。尽管做出了这些努力,截至2025年,CUDA仍然是大多数深度学习软件的默认假设,从学术研究代码到运行前沿基础模型的基础设施。