文章摘要
【关 键 词】 GPU竞争、CUDA护城河、代码移植、AI芯片、性能优化
Nvidia正面临来自英特尔和AMD的新加速器的激烈竞争,这些加速器在内存容量、性能和价格方面对Nvidia的最佳芯片构成挑战。Nvidia通过其CUDA运行时在开发者社区中建立了显赫地位,许多代码库都是针对其硬件编写和优化的,而竞争的低级GPU编程框架则不够成熟,这被称为“CUDA护城河”。尽管如此,这条护城河的深度实际上取决于目标。对于低级GPU编程,CUDA护城河非常真实,因为现有代码必须移植、重构和优化才能在替代硬件上运行。英特尔和AMD投入资金开发工具,以自动化将CUDA源代码转换为在各自平台上运行的过程。AMD拥有HIPIFY,可帮助自动将CUDA转换为HIP C++代码,而英特尔拥有SYCL,可以处理大部分繁重的工作,将CUDA代码移植为可以在非Nvidia加速器上运行的格式。
尽管CUDA护城河对希望扩大对替代硬件平台支持的开发人员来说是现实的,但在内核级别编写代码的开发人员数量相对较少。大多数开发人员都在PyTorch层面或其他框架上进行编程。PyTorch成为许多兜售Nvidia替代品的AI芯片公司的首选,它存在于CUDA、ROCm或OneAPI等框架之上,并根据系统中安装的硬件简单地调用适当的后端。理论上,这意味着为PyTorch编写的代码应该可以在几乎任何支持它的东西上运行。然而,实际上,PyTorch可以在这些加速器上运行,并不意味着就不会出现问题。用于构建PyTorch应用程序的许多库和模块在添加对替代架构的支持方面进展缓慢,因此通常需要进行一定程度的重构才能运行现有脚本。
软件兼容性的碎片化会造成软件兼容性问题。英特尔、AMD和Nvidia已采取措施缓解这些挑战,提供用作开发环境的预配置容器映像。随着芯片制造商推动对流行框架和库的本地支持,某些东西是否可行已不再是一个问题,而是一个性能如何的问题。对于使用Nvidia硬件进行开发的开发人员来说,情况也类似。CUDA在移动GPU上的运行方式与在价值30000美元的H100上的运行方式相同,这意味着如果系统配备了Nvidia GPU,那么已经拥有了开始开发所需的一切。竞争对手的情况就没这么顺利。AMD拥有Radeon和Radeon Pro GPU,它们使用RDNA微架构,而其专注于数据中心的Instinct芯片则使用CDNA架构。尽管存在这些差异,AMD仍将ROCm支持扩展到部分7000系列Radeon卡,以期巩固其开发人员渠道。
尽管CUDA护城河对于开发商和芯片制造商来说仍然是一个持续的挑战,但如果您只想大规模提供LLM,那么这并不是您真正需要担心的事情。无论选择什么硬件,所有这些供应商都开发了或贡献了让LLM产生令牌所需的必要代码。在某些情况下,提供与OpenAI兼容的API服务器的能力才是所有开发人员真正想要的。当今的许多AI应用程序实际上只是围绕OpenAI、Anthropic或Mistral AI API服务器构建的包装器,这意味着代码永远不必直接与GPU或AI加速器交互。这也意味着代码相对可移植。尽管几乎任何AI加速器都可以提供LLM,但这并不意味着它的性能或效率能够达到应有的水平。
原文和模型
【原文链接】 阅读原文 [ 4082字 | 17分钟 ]
【原文作者】 半导体行业观察
【摘要模型】 moonshot-v1-32k
【摘要评分】 ★★★★☆