如何让 Nvidia CUDA 工作?(用于 Blender 中的 GPU 渲染)

如何让 Nvidia CUDA 工作?(用于 Blender 中的 GPU 渲染)

我正在尝试让 CUDA(虽然不确定它到底是什么)在 Ubuntu 中工作,以便在 Blender 3D 建模程序中进行 GPU 渲染。在 Windows 7 64 位上,它运行完美。在 Ubuntu 中,我无法启用 Blender 中的 GPU 处理功能。我假设需要安装 Nvidia 的 CUDA。

可以这样做吗?如果可以,我可以了解具体操作方法吗?谢谢!

运行 Ubuntu GNOME 15.04 x64,带有 GNOME 3.14、Nvidia GTX 660 和 Nvidia 专有驱动程序。

答案1

要从标准存储库安装 CUDA,请执行以下操作:

sudo apt-get install nvidia-cuda-toolkit nvidia-modprobe

这会现在安装 CUDA V6.5。在撰写本文时,V7.0 是最新版本,可以直接从 nVidia 存储库获取。阅读此警告在您前往 nVidia 存储库之前。

答案2

我在 Nvidia 的网站上找到了解决方案。他们有一个 .deb 包,您必须下载并安装在您的系统上,才能使存储库直接从 Nvidia 安装 CUDA。以下是我让它工作的方法:

  1. https://developer.nvidia.com/cuda-downloads
  2. 选择与您的 Ubuntu 版本相对应的 .deb 文件。(当时,他们没有适用于 Ubuntu 15.04 的软件包,因此我选择了适用于 14.10 的软件包。这确实解决了我的问题,但我不确定它是否会在以后造成任何兼容性问题。这似乎不是一个可怕的风险,但我想让大家知道这一点。)
  3. 转到文件浏览器,找到下载的.deb 包,然后双击(或单击)通过 Ubuntu 软件中心安装该包。
  4. 打开终端
  5. 类型:sudo apt-get update
  6. 键入:sudo apt-get install cuda
  7. 等待软件包下载并安装,然后重新启动计算机(对于我来说,软件包超过 900MB,因此使用我的连接下载大约需要 20 分钟)

重启后,Blender 能够使用 CUDA 启动 GPU 渲染和烘焙。问题解决了!

答案3

总结:缺少一些文件,要获取它们,请在终端中运行以下命令

笔记:将版本号替换为您所使用的 Blender 的版本号。

$ wget https://download.blender.org/release/Blender2.83/blender-2.83.5-linux64.tar.xz && \
sudo tar -C /usr/share/blender/scripts/addons/cycles/ \
-xvf blender-2.83.5-linux64.tar.xz \
blender-2.83.5-linux64/2.83/scripts/addons/cycles/lib/ \
--strip-components=5 && \
rm -f blender-2.83.5-linux64.tar.xz

之后重新启动 Blender。


Debian/Ubuntu 存储库中的 Blender 缺少一些 Cycles CUDA/GPU 渲染所需的文件。

Debian/Ubuntu 存储库中的 Blender 无法与 CUDA 配合使用,因为它不是与 Cycles 的 CUDA 内核一起打包,或者更具体地说,Cycles 渲染是不是打包了一些*.cubin需要存储的文件/usr/share/blender/scripts/addons/cycles/lib

无 CUDA 内核的循环

从 Debian/Ubuntu 存储库安装 Blender。

$ ls /usr/share/blender/scripts/addons/cycles/lib
ls: cannot access '/usr/share/blender/scripts/addons/cycles/lib': No such file or directory

使用 CUDA 内核的循环

$ ls /usr/share/blender/scripts/addons/cycles/lib

ilter_sm_30.cubin  filter_sm_52.cubin  filter_sm_75.cubin  kernel_sm_37.cubin  kernel_sm_61.cubin
filter_sm_35.cubin  filter_sm_60.cubin  kernel_optix.ptx    kernel_sm_50.cubin  kernel_sm_70.cubin
filter_sm_37.cubin  filter_sm_61.cubin  kernel_sm_30.cubin  kernel_sm_52.cubin  kernel_sm_75.cubin
filter_sm_50.cubin  filter_sm_70.cubin  kernel_sm_35.cubin  kernel_sm_60.cubin

概括

这些*.cubin文件对于 Cycles 的 CUDA/GPU 渲染功能至关重要。但存储库中缺少这些文件。

安装nvidia-cuda-toolkit不会启用 Blender 中的 CUDA/GPU 渲染功能,因为它不会安装 Cycles CUDA 内核。您不需要安装完整版nvidia-cuda-toolkitlibcuda1Cycles CUDA/GPU 渲染就足以正常工作。

当然需要 NVIDIA 专有驱动程序。

一个简单的解决方法

我假设 NVIDIA 驱动程序已安装。如果你不知道这意味着什么,请查看此优秀的 AskUbuntu 答案

从以下网址下载 Blender官方网站并从下载的 tarball 中提取 CUDA Cycles 内核/usr/share/blender/scripts/addons/cycles/lib

笔记:当前 Blender LTS 版本为 2.83 如果您正在使用其他版本的 Blender,请相应地更改下面的 Blender 版本。

apt install libcuda1在 Debian 上,如果安装后没有自动安装,你也应该运行nvidia-driver

$ sudo tar -C /usr/share/blender/scripts/addons/cycles/ \
-xvf blender-2.83.5-linux64.tar.xz \
blender-2.83.5-linux64/2.83/scripts/addons/cycles/lib/ \
--strip-components=5

重新启动 Blender,您将拥有一个启用了 CUDA 并可以正常工作的 Cycles。

更艰难的解决办法

您可以自行编译 Cycles CUDA 内核。请访问Blender 维基了解详情。

相关内容