Я только что провел некоторые эксперименты и могу подтвердить заявления Эрика Эпплмана о том, что Шмель не нужен для CUDA. (подробнее о Шмеле : поддерживается ли Ubuntu NVIDIA GeForce с технологией Optimus? )
Тем не менее, когда вам нужно , чтобы показать графические примеры с использованием OpenGL, вы делаете что - то нужно , как Шмель для систем Optimus, в противном случае вы либо не видите что - либо на экране или получить сообщение об ошибке:
ERROR: Support for necessary OpenGL extensions missing.
При запуске программы CUDA вам необходимо установить инструментарий CUDA и драйвер nvidia. Если вы собираетесь собирать программы, вам также понадобится SDK. Установщики могут быть найдены на http://developer.nvidia.com/cuda-downloads , пожалуйста, прочитайте приведенные ниже инструкции, прежде чем ставить свой ноутбук Optimus.
Установка CUDA
Водитель
Я рекомендую установить драйвер nvidia из диспетчера пакетов Ubuntu. Если вы устанавливаете Bumblebee, вам не нужно беспокоиться о драйвере. В противном случае после установки отключите библиотеки nvidia, как описано на /ubuntu//a/107746/6969 . Если вы этого не сделаете, вы потеряете 3D-ускорение и, возможно, застрянете в низком разрешении.
Инструментарий
В основном вам нужно скачать установщик, сделать его исполняемым и запустить его. - Скачать установщик. На момент написания статьи 4.2.9 является самым последним драйвером. Поскольку у меня 64-битная ОС, я использую 64-битный пакет 11.04 Ubuntu (хотя я работаю 12.04) - сделайте его исполняемым и разрешите установку для /usr/local/cuda
:
chmod +x cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
sudo ./cudatoolkit_4.2.9_linux_64_ubuntu11.04.run
Когда появляется сообщение об установке, которое спрашивает вас, где установить CUDA, просто нажмите Enter, чтобы принять значение по умолчанию /usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
После установки будет напечатано несколько сообщений, предлагающих поместить каталог библиотеки cuda в путь поиска вашей библиотеки:
========================================
* Please make sure your PATH includes /tmp/cuda/cuda/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /tmp/cuda/cuda/lib
* for 64-bit Linux distributions includes /tmp/cuda/cuda/lib64:/tmp/cuda/cuda/lib
* OR
* for 32-bit Linux distributions add /tmp/cuda/cuda/lib
* for 64-bit Linux distributions add /tmp/cuda/cuda/lib64 and /tmp/cuda/cuda/lib
* to /etc/ld.so.conf and run ldconfig as root
* Please read the release notes in /tmp/cuda/cuda/doc/
* To uninstall CUDA, remove the CUDA files in /tmp/cuda/cuda
* Installation Complete
Вы можете пропустить этот шаг, если хотите, но тогда вам нужно будет установить LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
позже при запуске программы.
SDK
Если вы хотите иметь возможность компилировать приложения CUDA, вы можете установить SDK аналогично тому, как описано выше. Скачайте, сделайте его исполняемым и запустите его (не как root, например, без sudo
!). При компиляции его частей мне пришлось внести некоторые изменения в NVIDIA_GPU_Computing_SDK/C/common/common.mk
:
после строки 189 OPENGLLIB := -lGL -lGLU -lX11 -lXi -lXmu
добавить:
OPENGLLIB += -L/usr/lib/nvidia-current -L/usr/lib32/nvidia-current
после того, как о линии 271, своп ${RENDERCHECKGLLIB}
с ${OPENGLLIB}
таким образом, что она выглядит следующим образом :
LIB += $(RENDERCHECKGLLIB) ${OPENGLLIB} $(PARAMGLLIB) ${LIB} -ldl -rdynamic
- еще несколько (5) строк, сделайте то же самое, но
-lcuda
тоже удалите .
- еще несколько (7) строк, сделайте то же самое, что и в строке 271.
Использование CUDA
Для работы CUDA не требуется X-сервер, управляемый NVIDIA. В этом случае вы можете запустить программу случайного тестирования, например:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
Если вы не добавили CUDA в путь к своей библиотеке, вам потребуется:
LD_LIBRARY_PATH = / usr / lib / nvidia-current: / usr / lib32 / nvidia-current: / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH someComputallyIntensiveProgram
(вы можете убрать из него 32-битные пути, если ваша программа 64-битная).
Если программе CUDA действительно есть, что отобразить с помощью OpenGL, вы должны использовать optirun:
optirun blender
Или, если вы не добавили CUDA в путь по умолчанию:
LD_LIBRARY_PATH = / usr / local / cuda / lib64: / usr / local / cuda / lib: $ LD_LIBRARY_PATH optirun блендер
Вот полный ответ (на основе ответов Алекса Фалаппа и Лекенштейна ):
Действительно возможно получить графические процессоры nVidia Optimus для запуска CUDA в Ubuntu.
Шмель не нужен для CUDA. (подробнее о Шмеле : поддерживается ли Ubuntu NVIDIA GeForce с технологией Optimus? )
Тем не менее, когда вам нужно , чтобы показать графические примеры с использованием OpenGL, вы делаете что - то нужно , как Шмель для систем Optimus, в противном случае вы либо не видите что - либо на экране или получить сообщение об ошибке:
Если вам нужно использовать графически насыщенную программу, такую как Blender, Bumblebee в настоящее время является хорошим способом.
Перейдите к Установке CUDA, если вы не хотите устанавливать Bumblebee (т.е. если вам не нужен OpenGL).
В противном случае читайте дальше.
Установка шмеля
Следуйте инструкциям в разделе Насколько хорошо работают ноутбуки с Nvidia Optimus?
В настоящее время они обновляются разработчиком Bumblebee.
После установки Bumblebee и перезагрузки вы сможете выбрать графическую карту, которая будет использоваться при запуске программ с помощью
optirun
программы.Например:
Чтобы быстро проверить, все ли работает правильно, используйте:
Вы увидите программу с красочными вращающимися сферами, если все работает правильно.
Убедитесь, что строка поставщика GL в терминале содержит слово nvidia .
Если вы запускаете только
glxspheres
, вы увидите, что строка поставщика содержит вместо карты Intel.При запуске программы CUDA вам необходимо установить инструментарий CUDA и драйвер nvidia. Если вы собираетесь собирать программы, вам также понадобится SDK. Установщики могут быть найдены на http://developer.nvidia.com/cuda-downloads , пожалуйста, прочитайте приведенные ниже инструкции, прежде чем ставить свой ноутбук Optimus.
Установка CUDA
Водитель
Я рекомендую установить драйвер nvidia из диспетчера пакетов Ubuntu. Если вы устанавливаете Bumblebee, вам не нужно беспокоиться о драйвере. В противном случае после установки отключите библиотеки nvidia, как описано на /ubuntu//a/107746/6969 . Если вы этого не сделаете, вы потеряете 3D-ускорение и, возможно, застрянете в низком разрешении.
Инструментарий
В основном вам нужно скачать установщик, сделать его исполняемым и запустить его. - Скачать установщик. По состоянию на 9 января 2013 года 5.0.35 является самым последним драйвером. Поскольку у меня 64-битная ОС, я использую 64-битный 11.10 пакет Ubuntu (хотя я работаю 12.10) - сделайте его исполняемым и разрешите установку для
/usr/local/cuda
:Когда появляется сообщение об установке, которое спрашивает вас, где установить CUDA, просто нажмите Enter, чтобы принять значение по умолчанию
/usr/local/cuda
:После установки будет напечатано несколько сообщений, предлагающих поместить каталог библиотеки cuda в путь поиска вашей библиотеки:
Вы можете пропустить этот шаг, если хотите, но тогда вам придется установить
LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
позже при запуске программы.SDK
Если вы хотите иметь возможность компилировать приложения CUDA, вы можете установить SDK аналогично тому, как описано выше. Скачайте, сделайте его исполняемым и запустите его (не как root, например, без
sudo
!).Использование CUDA
Для работы CUDA не требуется X-сервер, управляемый NVIDIA. В этом случае вы можете запустить программу случайного тестирования, например:
Если вы не добавили CUDA в путь к своей библиотеке, вам потребуется:
(вы можете убрать из него 32-битные пути, если ваша программа 64-битная).
Если программе CUDA действительно есть, что отобразить с помощью OpenGL, вы должны использовать optirun:
Или, если вы не добавили CUDA в путь по умолчанию:
Установка сборки Blender
(С предварительно скомпилированными ядрами CUDA)
При запуске
optirun blender
вы можете получить сообщение от Blender о том, что сборка ядра CUDA завершилась неудачно, и сообщение в терминале, подобное следующему:Если вы хотите использовать функцию визуализации в Blender, вам может понадобиться сборка Blender с предварительно скомпилированными ядрами CUDA. Сборки с Blender.org имеют предварительно скомпилированные ядра CUDA; Сборки ppa: cheleb / blender-svn ( больше информации по этому вопросу ) - нет.
Чтобы установить официальную сборку Blender, просто следуйте инструкциям, изложенным в этом ответе .
Если вы установили Blender на
/usr/lib/blender
, вы сможете запустить Blender из терминала и использовать рендеринг с помощью графического процессора с:источник
usermod
команде. Я буду держать инструкции по установке на сайте askubuntu.com/a/36936/6969 обновленными, поэтому, пожалуйста, вместо копирования этих инструкций установите ссылку на этот пост.Поддержка гибридной графики (обычно интегрированной графики Intel и дискретной графики Nvidia) в Linux в настоящее время немного проблематична. Что-то медленно движется в поле X-сервера, но не задерживайте дыхание.
Как вы уже догадались, Шмель в настоящее время - хороший путь.
Недавно я купил ноутбук Asus N55 с графикой Intel / Nvidia, и мне удалось заставить рендер Blender Cycles использовать CUDA.
Когда я установил Ubuntu 12.04, он использовал встроенную графику по умолчанию через графический драйвер Intel. Графический драйвер noveau не должен быть установлен.
Затем я открыл терминал и сделал:
После этого я сделал (как рекомендовано инструкцией по установке):
Затем я перезагрузился.
Чтобы выбрать драйвер, который будет использоваться при запуске программ, используйте программу optirun, например:
Чтобы проверить, все ли работает правильно, используйте:
И убедитесь, что строка поставщика GL содержит слово Nvidia. Если вы запустите вместо:
Строка поставщика должна содержать слово Intel
источник
optirun
и я могу убедиться, что Blender использовал мой графический процессор nVidia для визуализации трехмерного видового экрана. Однако в раскрывающемся списке «Настройки пользователя Blender» отсутствует опция «GPU». Это только списки «CPU». Смотрите этот скриншот . Нужно ли устанавливать дополнительные драйверы для использования CUDA?Я считаю , что для выполнения всех примеров CUDA, с помощью Bumblebee, вы должны установить драйвера 295.40 из здесь и во время установки выбрать , чтобы не переопределить
config x11
.Затем вы должны использовать один и тот же драйвер для компиляции примеров и запуска программы.
источник