如何讓 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 w/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

之後重新啟動攪拌機。


Debian/Ubuntu 儲存庫中的 Blender 缺少一些用於 Cycles CUDA/GPU 渲染工作的檔案。

Debian/Ubuntu 儲存庫中的 Blender 無法與 CUDA 一起使用,因為它是不是與 CUDA 內核一起打包用於循環,或者更具體地說,循環渲染是不是打包了一些*.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-toolkitlibcuda1足以讓 Cycles CUDA/GPU 渲染工作。

當然需要 NVIDIA 專有驅動程式。

一個簡單的解決方法

我假設 NVIDIA 驅動程式已經安裝。如果您不知道這意味著什麼,請查看此內容優秀的 AskUbuntu 答案

從以下位置下載攪拌機官方網站並從您下載到的 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 CUDA核心。訪問攪拌機維基了解詳情。

相關內容