我正在尝试让 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。以下是我让它工作的方法:
- 去https://developer.nvidia.com/cuda-downloads
- 选择与您的 Ubuntu 版本相对应的 .deb 文件。(当时,他们没有适用于 Ubuntu 15.04 的软件包,因此我选择了适用于 14.10 的软件包。这确实解决了我的问题,但我不确定它是否会在以后造成任何兼容性问题。这似乎不是一个可怕的风险,但我想让大家知道这一点。)
- 转到文件浏览器,找到下载的.deb 包,然后双击(或单击)通过 Ubuntu 软件中心安装该包。
- 打开终端
- 类型:sudo apt-get update
- 键入:sudo apt-get install cuda
- 等待软件包下载并安装,然后重新启动计算机(对于我来说,软件包超过 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-toolkit
,libcuda1
Cycles 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 维基了解详情。