Как заставить работать Nvidia CUDA? (для рендеринга на GPU в Blender)

Как заставить работать Nvidia CUDA? (для рендеринга на GPU в Blender)

Я пытаюсь заставить CUDA (хотя не уверен, что это такое) работать в Ubuntu для рендеринга GPU в программе 3D-моделирования Blender. На Windows 7 64-bit это работает безупречно. В Ubuntu я не могу включить функции обработки GPU в Blender. Я предполагаю, что необходимо установить CUDA от Nvidia.

Можно ли это сделать? Если да, то могу ли я получить подробности о том, как это сделать? Спасибо!

Работает под управлением Ubuntu GNOME 15.04 x64 с GNOME 3.14, Nvidia GTX 660 и фирменными драйверами Nvidia.

решение1

Чтобы установить CUDA из стандартных репозиториев, выполните:

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

Это будетв настоящее времяустановить V6.5 CUDA. На момент написания статьи последняя версия — V7.0, ее можно получить прямо из репозиториев nVidia. Читатьэто предупреждениепрежде чем отправиться в репозитории nVidia.

решение2

Мне удалось найти решение на сайте Nvidia. У них есть пакет .deb, который вам нужно скачать и установить в вашей системе, чтобы включить репозиторий для установки CUDA от Nvidia напрямую. Вот как я это сделал:

  1. Идти кhttps://developer.nvidia.com/cuda-downloads
  2. Выберите файл .deb, соответствующий вашей версии Ubuntu. (В то время у них не было пакета для Ubuntu 15.04, поэтому я выбрал пакет для 14.10. Это решило мою проблему, но я не уверен, создаст ли это какие-либо проблемы совместимости в будущем. Это не кажется страшным риском, но я хотел сообщить об этом.)
  3. Откройте файловый менеджер, найдите загруженный пакет .deb и дважды (или один раз) щелкните по нему, чтобы установить пакет через Центр приложений Ubuntu.
  4. Откройте терминал.
  5. Введите: sudo apt-get update
  6. Введите: sudo apt-get install cuda
  7. Дождитесь загрузки и установки пакетов, затем перезагрузите компьютер (у меня пакеты весили более 900 МБ, поэтому при моем соединении загрузка заняла около 20 минут)

После перезагрузки Blender смог использовать CUDA для запуска рендеринга и запекания GPU. Проблема решена!

решение3

TL;DR:Некоторые файлы отсутствуют. Чтобы получить их, выполните команду ниже в терминале.

Примечание:замените номер версии на номер версии 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.


В Blender из репозитория Debian/Ubuntu отсутствуют некоторые файлы для работы рендеринга Cycles CUDA/GPU.

Blender из репозитория Debian/Ubuntu не будет работать с CUDA, потому что оннетупакован с ядром CUDA для циклов, или, точнее, рендеринг Cycles былнетупакован с некоторыми *.cubinфайлами, которые следует сохранить /usr/share/blender/scripts/addons/cycles/lib.

Циклы без ядра CUDA

Blender установлен из репозитория Debian/Ubuntu.

$ 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файлы необходимы для работы рендеринга CUDA/GPU в Cycles. И они отсутствуют в репозитории.

Установка nvidia-cuda-toolkitне включит возможности рендеринга CUDA/GPU в Blender, поскольку не устанавливает ядро ​​Cycles CUDA. Вам не нужно устанавливать полную версию nvidia-cuda-toolkit, libcuda1достаточно для работы рендеринга Cycles CUDA/GPU.

Конечно, необходим фирменный драйвер NVIDIA.

Простой обходной путь

Я предполагаю, что драйвер NVIDIA уже установлен. Если вы не знаете, что это значит, посмотрите этоотличный ответ AskUbuntu.

Загрузите Blender с сайтаОфициальный веб-сайти извлеките ядро ​​CUDA Cycles из tar-архива, который вы скачали /usr/share/blender/scripts/addons/cycles/lib.

Примечание:Текущая версия Blender LTS — 2.83. Если вы используете другую версию Blender, измените указанную ниже версию.

В Debian он также должен работать, apt install libcuda1если он не был автоматически установлен после установки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, и у вас должен появиться работающий Cycles с включенной CUDA.

Более сложный обходной путь

Вы можете скомпилировать ядро ​​Cycles CUDA самостоятельно. ПосетитьБлендер Викидля получения подробной информации.

Связанный контент