ZLUDA - 在 AMD 显卡上启动 Nvidia 挖矿程序

在 AMD 上启动 cuda 矿工

十年前,AMD 显卡被认为是挖矿的最佳选择,因为它们在当时流行的挖矿算法(如 SHA-256、Scrypt、Ethash、Cryptonight)上提供了更高的性能,同时价格显著更便宜。此外,挖矿软件(矿工)通常首先为 AMD 显卡推出,然后是 Nvidia。这使得可以早期利用新加密货币。然而,目前,AMD 在挖矿方面已经输给了 Nvidia,因为 Nvidia 显卡对挖矿更有效率。新算法的矿工主要首先为 Nvidia 卡发布,然后再为 AMD 卡发布。AMD 产品的唯一剩余优势是它们的价格,尽管显卡之间的成本差距没有十年前那么显著。

这并不意味着 AMD 产品在当前完全无效进行挖矿。特别是通过 ZLUDA 程序,Radeon 显卡的所有者可以克服一个劣势,即使只有适用于 Nvidia 显卡的矿工软件也可以开始挖掘加密货币。

In other words, ZLUDA allows users to easily utilize software specifically designed for Nvidia cards with just one click. This isn't limited to mining programs, as Zluda enables running rendering programs like V-Ray and Blender on AMD graphics cards, which only

换句话说,ZLUDA 允许用户只需单击一次就能轻松地使用专为 Nvidia 显卡设计的软件。这不仅限于挖矿程序,因为 Zluda 还可以使只支持通过 Nvidia 显卡加速的渲染程序(如 V-Ray 和 Blender)在 AMD 显卡上运行。

根据开发人员的说法,在 AMD 显卡上运行 CUDA 应用程序时的性能损失很小甚至不存在。这是通过使用类似于苹果从 Intel 处理器转换到自己的 ARM 处理器 M1 的原理来实现的,从而在 ARM 处理器上运行 x86 应用程序时不会有损失,这是通过他们的代码转换器(模拟器) Rosetta 2 实现的。

Zluda 的运行方式与用于 Nvidia 显卡的翻译器或模拟器类似。在运行 CUDA 应用程序之前,代码经过类似的翻译过程,这需要一些时间。但是,经过此过程后,专为 Nvidia 硬件设计的软件可以在 AMD 显卡上运行而不引起怀疑。

Zluda 的运行基于 AMD 开发的 ROCm 计算库,该库是为了与 CUDA 竞争而开发的,实际上是它的克隆。在 ROCm 包中,有一个专门用于将 CUDA 命令转换为 ROCm 命令的特殊程序,称为 HIPIFY。ROCm 的编程语言称为 HIP。

这意味着自从 2016 年 ROCm 推出以来,就已经可以在 AMD 显卡上运行 CUDA 的计算程序了。但是,为此需要访问代码,这对于拥有现成产品(如矿工或 Blender)的普通用户来说是不可能的。

通过 Zluda,与苹果的 Rosetta 2 类似,你不需要程序的源代码,因为翻译发生在应用程序执行期间,其中模拟器从模拟应用程序中选择 ROCm 命令以满足 CUDA 请求。在找不到直接对应项的情况下,会发生动态代码编译(JIT)。由于 ROCm 是 CUDA 的直接对应项,而不是 X86 和 ARM 架构,因此模拟 CUDA 应用程序代码时的问题应该是很小的。

ROCm 的支持从 Polaris 一代显卡开始,即 Radeon RX 400 系列及更新版本。因此,理论上,从 2016 年以后的所有 AMD 显卡上都应该可以运行 CUDA 应用程序的仿真。

amd rocm cuda

不幸的是,由于后者缺失,我们无法测试在 AMD 解决方案上运行 Nvidia 加密货币矿工的想法。然而,根据 Radeon 显卡在 Blender 和 V-Ray 上的性能的热情反馈来看,CUDA 矿工也不应该有问题。

如果你有兴趣和条件进行这样的实验,我们将感谢你在我们的 Telegram 聊天 Cryptoage 中提供你在这一领域的实验反馈。

对于 Linux,你需要直接安装 ROCmZLUDA  代码转换器。

对于 Windows,也有编译好的 Zluda 版本可用,但是需要安装 HIP SDK  包而不是 ROCm。