Я пытаюсь заставить 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 напрямую. Вот как я это сделал:
- Идти кhttps://developer.nvidia.com/cuda-downloads
- Выберите файл .deb, соответствующий вашей версии Ubuntu. (В то время у них не было пакета для Ubuntu 15.04, поэтому я выбрал пакет для 14.10. Это решило мою проблему, но я не уверен, создаст ли это какие-либо проблемы совместимости в будущем. Это не кажется страшным риском, но я хотел сообщить об этом.)
- Откройте файловый менеджер, найдите загруженный пакет .deb и дважды (или один раз) щелкните по нему, чтобы установить пакет через Центр приложений Ubuntu.
- Откройте терминал.
- Введите: sudo apt-get update
- Введите: sudo apt-get install cuda
- Дождитесь загрузки и установки пакетов, затем перезагрузите компьютер (у меня пакеты весили более 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 самостоятельно. ПосетитьБлендер Викидля получения подробной информации.