说到CUDA兼容性,英伟达禁止了吗?

小夏 科技 更新 2024-03-06

事实上,自 2021 年以来,NVIDIA 在其许可条款中已禁止使用转换层在其他硬件平台上运行基于 CUDA 的软件,但之前的警告不包括安装过程中放置在主机系统上的文档。

但最近,据报道,此描述已被添加到 CUDA 11 的安装中EULA 中包含 6 及更高版本。 这一限制似乎旨在阻止英特尔和AMD最近参与的Zluda等举措,也许更关键的是,一些中国GPU制造商利用CUDA的翻译层

软件工程师 Longhorn 注意到了这些术语。 已安装的 EULA 文本文件中的条款之一是:“您不得对使用 SDK 元素生成的输出的任何部分进行逆向工程、反编译或反汇编,以将此类输出工件转换为目标非 NVIDIA 平台。 ” you may not reverse engineer, decompile or disassemble any portion of the output generated using sdk elements for the purpose of translating such output artifacts to target a non-nvidia platform.,")

使用 CUDA 114 和 11此条款不存在于随版本 5 一起安装的 EULA 文档中,并且可能包含该版本之前的所有版本。 但是,它存在于 11 中6 及更高版本的安装文档。

作为领导者,这有好的一面,也有坏的一面。 一方面,每个人都依赖你; 另一方面,每个人都想站在你的肩膀上。 后者显然是CUDA发生的事情。 由于CUDA和NVIDIA硬件的组合已被证明非常有效,因此大量程序都依赖它。

然而,随着更具竞争力的硬件进入市场,越来越多的用户倾向于在竞争平台上运行他们的 CUDA 程序。 有两种方法可以做到这一点:重新编译(可供单个程序的开发人员使用)或使用转换层。

出于显而易见的原因,使用像 Zluda 这样的转换层是在非 NVIDIA 硬件上运行 CUDA 程序的最简单方法。 我们所要做的就是获取编译好的二进制文件,并使用 zluda 或其他转换层运行它们。

但Zluda现在似乎陷入了困境,AMD和英特尔都放弃了进一步开发它的机会,但这并不意味着翻译不可行。

出于显而易见的原因,转换层的使用威胁到NVIDIA在加速计算领域的霸权,尤其是在AI应用方面。 这可能是 NVIDIA 决定禁止使用翻译层在其他硬件平台上运行 CUDA 应用程序的驱动力。

重新编译现有的 CUDA 程序仍然是完全合法的。 为了简化这一点,AMD 和 Intel 都有工具可以分别将 CUDA 程序移植到他们的 ROCM 和 OpenAPI 平台。

随着 AMD、英特尔、Tenstorrent 和其他公司开发更好的硬件,越来越多的软件开发人员将倾向于为这些平台进行设计,而 NVIDIA 的 CUDA 主导地位可能会随着时间的推移而减弱。

此外,专门为特定处理器开发和编译的程序将不可避免地比通过翻译层运行的软件运行得更好,这意味着 AMD、英特尔、Tenstorrent 和其他公司将能够获得更好的竞争地位——如果它们能够吸引软件开发人员加入。

GPGPU仍然是一个重要且竞争激烈的领域,我们将密切关注未来的发展。

Zluda,一个雄心勃勃的项目

早在 2020 年,一个名为 Zluda 的项目就被描述为“英特尔 GPU 上 CUDA 的直接替代品”,它威胁到 NVIDIA 专有的 CUDA(统一计算设备架构)生态系统。

这个独立的项目(不是由AMD或英特尔驱动的)已经为当时在非NVIDIA显卡上运行未更改的CUDA应用程序提供了概念证明。

Zluda 的基础正是英特尔的 OneAPI 零级规范。 这是一个私人项目,与英特尔或英伟达无关。 当它首次推出时,Zluda 仍处于早期阶段,缺乏完整的 CUDA 支持。 因此,许多 CUDA 应用程序不适用于 Zluda。

但 Zluda 的创建者当时声称它提供了“接近原生”的性能,这意味着几乎没有性能损失。 他提供带有 Geekbench 5 的英特尔酷睿 i7-8700K2.3 因此,该处理器配备了英特尔的 UHD Graphics 630 IGPU,并运行 OpenCL 和 Zluda。 对于后者,作者欺骗 Geekbench 相信英特尔 IGPU 是速度较慢的 NVIDIA GPU。 但是,结果来自同一个 IGPU。

结果显示,与 OpenCL 性能相比,Zluda 的性能提高了 10%。 总体而言,我们预计比基准组提高约4%。

作者明确指出,Zluda 与 AMD HIP 或 Intel DPC++ 有很大不同,因为后两者是程序员将应用程序移植到他们选择的特定 API 的工具。 另一方面,Zluda 不需要任何额外的工作,因为 CUDA 应用程序只需要在 Intel GPU 上运行。 当然,只要支持 CUDA 的子集。

经过几年的发展,该项目同样支持AMD的GPU。 据了解,今天的Zluda与2020年的版本有很大不同。 它不是基于英特尔的 OneAPI 构建的,也包括对该公司 GPU 的支持,而是基于 AMD 的竞争性 ROCM 解决方案,仅支持 Radeon GPU。 目前尚不完全清楚为什么英特尔的支持被取消,但这可能与Zluda 2020版本仅支持XE之前的集成显卡有关。 当 Arc Alchemist GPU 于 2022 年问世时,项目开发商 Janik 与 AMD 合作。 开发人员还表示,Zluda“只可能收到我个人感兴趣的运行工作负载(DLSS)的更新”,这意味着该项目或多或少已经完成。 Janik的最终目标似乎是获得英特尔或AMD的支持。

但进入 2 月中旬,据报道,该项目似乎不会做任何进一步的工作,至少没有重大更新,Zluda 开发人员 Andrzej Janik(代号为 Vosen)表示,随着两家公司(英特尔和 AMD)的退出,“我们不再有 GPU 公司了”。

事实上,该项目现在已被放弃。 贾尼克说。

这说明英特尔和AMD对使他们的GPU与现有的CUDA生态系统兼容不感兴趣。 看起来他们更愿意用 OneAPI 和 ROCM 与 CUDA 正面交锋,它们较新且开发程度较低,但具有开源的好处。

迄今为止,CUDA仍然是专业和数据中心图形软件中更受欢迎的解决方案,目前尚不清楚这种情况是否会很快改变,特别是如果NVIDIA的GPU在功能和性能方面继续领先于英特尔和AMD。

打破CUDA霸权?

关于CUDA霸权的争论并不是什么新鲜事。

例如,英特尔首席执行官帕特·基辛格(Pat Gelsinger)去年年底在纽约的一次活动中首次赞扬了英伟达的CUDA技术,声称推理技术将比人工智能训练更重要。 但当被问及时,基辛格表示,英伟达在训练中的CUDA主导地位不会永远持续下去。

与此同时,他说,“你知道,整个行业都在积极地消除CUDA市场,”基辛格说。 他引用了MLIR、Google和OpenAI等例子,表明他们正在转向“Pythonic编程层”,以使AI训练更加开放。

英特尔首席技术官 Greg L**Ender 在 2023 年 9 月的一次演讲中打趣道:“我将向所有开发人员提出挑战。 让我们使用大型模型和 Copilot 等技术来训练机器学习模型,该模型将所有 CUDA ** 转换为 SYCL。 (原文如此:i.)'ll just throw out a challenge to all the developers. let's use llms and technologies like copilot to train a machine learning model to convert all your cuda code to sycl)。

其中,SYCL是英特尔打破CUDA对AI软件生态的束缚的最新举措。 根据介绍,SYCL(或更具体地说是Syclomatic)是一个免版税的跨架构抽象层,为英特尔的并行C++编程语言提供支持。 简而言之,在将 CUDA** 移植到在非 NVIDIA 加速器上运行时,SYCL 可以处理大部分繁重的工作(据称高达 95%)。 但正如您所料,通常需要一些微调和调整才能使应用程序全速运行。

当然,SYCL 绝不是编写与加速器无关的唯一方法。 正如 Curley 所解释的那样,OpenAI 的 Triton 或 Google 的 Jax 等框架就是两个例子。

AMD首席执行官苏姿丰在接受采访时表示,英伟达CUDA不相信护城河。 她直言不讳地承认,像 pytorch 这样的东西往往具有与硬件无关的功能。 她还指出,这意味着现在任何在 PyTorch 上运行 CUDA 的人都可以在 AMD 上运行它,因为我们已经完成了那里的工作。 坦率地说,它也可以在其他硬件上运行。

在去年的 Advancing AI 大会上,AMD 总裁 Victor Peng 介绍了 ROCM 6,这是并行计算框架的最新版本,该框架针对 AMD Instinct 的综合软件堆栈进行了优化,特别适合在 AI 中生成大型语言模型。

Lamini是一家专注于微调大型语言模型的初创公司,该公司透露,它已经“秘密运行在100多个AMD Instinct MI200系列GPU上”,并表示芯片设计商的ROCM软件平台“已经实现了与NVIDIA占主导地位的CUDA平台的软件对等。

吉姆·凯勒(Jim Keller)是一位传奇的处理器架构师,曾从事X86、ARM、MISC和RISC-V处理器的工作,他早些时候也批评了NVIDIA的CUDA架构和软件堆栈,并将其比作X86,他称之为沼泽。 他指出,即使是英伟达本身也有多个专门的软件包,出于性能原因,这些软件包依赖于开源框架。

凯勒在后续帖子中写道。 “如果你真的写了CUDA,它可能不会很快。 [.Triton、Tensor RT、Neon 和 Mojo 的存在是有充分理由的。 ”

即使在 NVIDIA 本身,也有一些工具并不完全依赖 CUDA。 例如,Triton Inference Server 是 NVIDIA 的开源工具,可简化 AI 模型的大规模部署,并支持 TensorFlow、PyTorch 和 Onnx 等框架。 Triton 还提供模型版本控制、多模型服务和并发模型执行等功能,以优化 GPU 和 CPU 资源的利用率。

SemiAnalysis 的作者 Dylan Patel 在之前的一篇文章中也强调,使用 PyTorch 20 和 OpenAI Triton 的到来,英伟达在这一领域的主导地位正在被打破。 详情请参考文章“CUDA被赶出神坛”。

作为读者,您如何看待 NVIDIA 的决定和 CUDA 的未来?

相似文章

    英特尔CEO抨击英伟达CUDA技术已经过时,整个行业都想结束它

    日前,英特尔推出了一系列新的CPU,包括用于生成式AI的AI芯片Gaudi。按照计划,高迪将于明年上市销售,其竞争对手是英伟达和AMD芯片。今年以来,英伟达的股价上涨了 而英特尔只有 英特尔和AMD必须使用AI芯片来吸引客户,使他们不会过度依赖英伟达。英特尔没有透露太多细节,目前只知道高迪将直接与英...

    英伟达 4090 D 发布,CUDA 核减 11,会对现有的 4090 市场产生影响吗?

    月日,英伟达正式面向中国大陆市场推出GeForce RTX D消费级游戏显卡。该产品是针对美国月对华出口管制措施而特别设计的,在原RTX 的基础上进行了降级,官方建议零售价仍为元。根据猿世界计算速率, D在规格方面,与RTX 的标准版本相比,RTX D显卡做了一些调整。最显着的变化是 CUDA 核心...

    外媒英伟达稳了未来

    在当前的全球芯片在市场低迷的背景下,大多数芯片企业受到重创,尤其是在美国芯片巨头。然而英伟达但有一个例外。英伟达成功抓住人工智能的崛起,成为AI时代的赢家。然而,即便如此,英伟达也存在一些挑战。英伟达之链该系统非常复杂,涵盖了来自世界各地的 , 个组件,其中 由以下部分组成 台积电及其链提供。这意味...

    Nvidia 的新 RTX 3050 来了! 显存缩水到6GB,国产售价不会超过1300元!

    热点引擎程序 英伟达最近推出了新版本的RTX 显卡,最大的变化是显存容量已经降低到GB。该显卡基于 GA 核心,拥有 个 CUDA 核心 个张量核心和 个光线追踪单元,基础频率为 MHz,最大提升频率为 MHz。虽然内存容量有所减少,但位宽在 位保持不变,而等效频率保持在 GHz。但是,带宽被压缩到...

    这是一个变化! 英伟达丢了第一名,西部数据早就被允许进入内地了!

    这是一个变化!英伟达丢了第一名,西部数据早就被允许进入内地了!可以说,英伟达的处境并不乐观。美国在芯片禁令问题上做出了重大让步,但这一特殊问题引起了中国企业的不满,甚至有传言称英伟达将裁员。英伟达再次来自 第一 秋天。据摩根士丹利 Morgan Stanley 称,该公司已放弃将英伟达列为热门芯片股...