文章摘要
【关 键 词】 GPU竞争、CUDA护城河、代码移植、硬件优化、兼容性挑战
英伟达(Nvidia)在GPU市场中面临来自英特尔和AMD的激烈竞争,这两家公司的新加速器在内存容量、性能和价格方面对英伟达的芯片构成挑战。英伟达通过近二十年的CUDA运行时构建,在其开发者社区中建立了良好声誉,许多代码库针对其硬件编写和优化,而竞争框架则不够成熟,形成了所谓的“CUDA护城河”。然而,这条护城河的深度取决于目标,对于低层级GPU编程来说,CUDA护城河非常真实,因为代码移植、重构和优化到替代硬件上需要开发人员投入。
英特尔和AMD投入资金开发工具,以自动化CUDA源代码的转换过程,使其在各自的平台上运行。AMD的HIPIFY工具有助于将CUDA自动转换为HIP C++代码,而英特尔的SYCL可以处理大部分繁重的工作,即将CUDA代码移植到非英伟达加速器上运行的格式。尽管这些工具存在,但它们并不完美,需要开发人员手动干预。
尽管CUDA护城河对希望通过扩展支持可替代硬件平台的开发人员来说是一个事实,但直接在内核级别编码的开发人员数量相对较少。大多数开发人员都在PyTorch级别或其他框架上编程。PyTorch已成为许多人工智能芯片公司兜售英伟达替代品的首选,它存在于CUDA、ROCm或OneAPI等框架之上,只需根据系统中安装的硬件调用相应的后端。理论上,这意味着为PyTorch编写的代码应该可以在支持它的任何设备上运行,但实际上,许多用于构建PyTorch应用程序的库和模块在添加对替代架构的支持方面进展缓慢,需要一定程度的重构才能使现有脚本运行。
软件的兼容性雷区造成了软件的兼容性问题,开发人员需要跟踪并在许多情况下编译流行库的兼容版本,这使得情况变得更加复杂。英特尔、AMD和英伟达已经采取措施,提供用作开发环境的预配置容器镜像来缓解这些挑战。这些容器镜像可以包含完整的PyTorch构建安装,使得开发人员可以更容易地在不同硬件上构建和运行代码。
尽管CUDA的护城河对开发人员和芯片制造商来说仍然是一个持续的挑战,但对于大规模提供LLM的开发人员来说,这并不是主要关注点。几乎所有的AI加速器供应商都开发或贡献了使LLM生成token所需的必需代码,并提供了框架以简化聊天机器人风格的应用程序的部署。然而,性能和效率仍然是关键因素,AMD和英特尔都在努力提高其硬件在运行流行模型时的性能。
原文和模型
【原文链接】 阅读原文 [ 4390字 | 18分钟 ]
【原文作者】 AI前线
【摘要模型】 moonshot-v1-32k
【摘要评分】 ★★★★★