Как заставить работать Nvidia CUDA? (для рендеринга GPU в Blender)
Я пытаюсь заставить CUDA (хотя точно не знаю, что именно) работать в Ubuntu для рендеринга на GPU в программе 3D-моделирования Blender. На Windows 7 64-битная работает без нареканий. В Ubuntu я не могу включить функции обработки GPU в Blender. Я предполагаю, что Nvidia CUDA должна быть установлена.
Можно ли это сделать? Если да, могу ли я получить подробную информацию о том, как это сделать? Спасибо!
Запуск Ubuntu GNOME 15.04 x64 с GNOME 3.14, фирменных драйверов Nvidia GTX 660 и Nvidia.
3 ответа
Для установки CUDA из стандартных репозиториев выполните:
sudo apt-get install nvidia-cuda-toolkit nvidia-modprobe
Это будет в настоящее время установить V6.5 CUDA. На момент написания этой статьи V7.0 является самым последним и может быть получен прямо из репозиториев nVidia. Прочтите это предупреждение, прежде чем отправиться в репозитории nVidia.
Мне удалось найти решение на сайте Nvidia. У них есть пакет.deb, который вы должны загрузить и установить в своей системе, чтобы репозиторий мог устанавливать CUDA непосредственно из Nvidia. Вот как я получил это работает:
- Перейдите на https://developer.nvidia.com/cuda-downloads
- Выберите файл.deb, соответствующий вашей версии Ubuntu. (В то время у них не было пакета для Ubuntu 15.04, поэтому я выбрал пакет для 14.10. Это решило мою проблему, но я не уверен, что это создаст какие-либо проблемы совместимости в будущем. Это кажется ужасным риском, но я хотел сделать это известным.)
- Перейдите в файловый браузер, найдите загруженный пакет.deb и дважды щелкните (или в один клик), чтобы установить пакет через Ubuntu Software Center.
- Откройте терминал
- Тип: sudo apt-get update
- Тип: sudo apt-get установить cuda
- Подождите, пока пакеты загрузятся и установятся, затем перезагрузите компьютер (для меня пакеты были более 900 МБ, поэтому загрузка с моим подключением заняла около 20 минут)
После перезагрузки Blender смог использовать CUDA для запуска рендеринга и выпечки на GPU. Задача решена!
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 из репозитория Debian/Ubuntu отсутствуют некоторые файлы для работы рендеринга Cycles CUDA/GPU.
Блендер из репозитория Debian/Ubuntu не будет работать с CUDA, потому что он не был упакован с ядром CUDA для циклов, или, точнее, рендеринг Cycles не был упакован с некоторыми файлами, которые должны быть сохранены.
Циклы без ядра CUDA
Блендер установлен из репозитория 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
файлы необходимы для работы рендеринга Cycles CUDA/GPU. И они отсутствуют в репозитории.
Установка не активирует возможности рендеринга 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 ниже соответственно, если вы используете другую версию 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, и у вас должны быть рабочие циклы с включенным CUDA.
Более сложный обходной путь
Ядро Cycles CUDA можно скомпилировать самостоятельно. Посетите Blender Wiki для получения подробной информации.