Как использовать CUDA с Главной NVIDIA

Я нашел половину дюжины сообщений на этом на всем протяжении сети, но ни один из них действительно не отвечает на вопрос.

Я хочу настроить свой GPU Nvidia, чтобы только сделать вычисления, не управлять дисплеем. Но когда я переключаюсь на использование Intel GPU в главной Nvidia конфигурации, я больше не могу загружать модуль Nvidia.

modprobe: ERROR: could not insert 'nvidia_352': No such device

Без модуля CUDA не работает, очевидно.

Таким образом, что такое точно главное Nvidia выполнение, которое лишает возможности загружать модуль? Это не помещено в черный список. Нет никакого xorg.conf файла, поэтому как система знает для использования Intel GPU вместо этого дискретный?

Я нахожусь на Точности Dell 5510 с установленной изготовителем Ubuntu 14.04, и моим GPU является Quadro M1000M.

Некоторые предлагают использовать шмеля, но это не должно быть необходимо для чистого, вычисляют загрузки.

Кроме того, по-видимому, шмель может загрузить модуль. Таким образом, что точно это делает?

Обновление: Итак, почему всегда кажется, что я нахожу ответ, когда я наконец отправляю вопрос после часов попытки понять это. Это фактическое только частичный ответ, но я иду к чему-то.

До сих пор я решил, что главный делает по крайней мере две вещи:

  • Переключите GPU от использования bbswitch.
  • Изменяет альтернативы для/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf.

При помощи bbswitch, чтобы снова включить GPU, я теперь могу загрузить модуль NVIDIA.

Но вопрос все еще остается: что лучший способ состоит в том, чтобы настроить систему для использования карты NVIDIA только для вычислений?

Я должен установить главный Nvidia, чтобы использовать Intel GPU и попытаться вручную распутать то, что это сделало для получения работы CUDA?

Как я удостоверяюсь, что система все еще использует Intel GPU для дисплея?

Как я пошел бы о простом отключении главной NVIDIA, и конфигурирование всего этого вручную?

Или должен я jsut подавать и использовать Шмеля и optirun? Каковы недостатки этого если таковые имеются?

Какие-либо рекомендации?

10
задан 13 April 2017 в 05:24

5 ответов

Я полагаю, что нашел, по крайней мере, поверхностное решение этого, как описано в обновлении моего исходного сообщения. Действительно существует два решения, которые я нашел, хотя я уверен, что существуют другие.

1 - С Главным в режиме Intel, повторно включите карту NVIDIA через bbswitch, затем работайте modprobe nvidia, чтобы загрузить модуль и создать узлы устройства.

2 - Шмель Использования optirun для запуска сессии удара от того, где можно сделать весь материал CUDA.

Оба этих решения позволяют Вам использовать встроенную графику для своего дисплея, в то время как использование карты NVIDIA для вычисляет загрузки. optirun решение кажется более универсальным, но я предпочитаю первый для его минимализма.

я надеюсь, что кто-то с большим пониманием изменит к лучшему этот ответ.

2
ответ дан 23 November 2019 в 04:34

В моем случае я нашел, что карта Nvidia не была на самом деле выключена, и единственная вещь, которую я на самом деле должен был сделать для выполнения кода CUDA, была:

export LD_LIBRARY_PATH=/usr/lib/nvidia-352

в оболочке, где я хочу выполнить его (я предполагаю, что глобально изменение настроек альтернатив повредило бы compiz, и т.д., и т.д....)

Для получения до этой точки (на Dell OptiPlex 7010, с Ubuntu 14.04, CUDA 7.5 и GTX 980) я полагаю, что шаги были:

  1. Использование вкладка PRIME Profiles, чтобы выбрать перезагрузку Intel
  2. и выбрать Intel как значение по умолчанию в Закрытии BIOS
  3. компьютер
  4. Разъем мониторы во встроенное видео :)

Все, кажется, хорошо работает до сих пор (nvidia-smi видит, что карта, cuda выполненные образцы, theano использует карту, и т.д....)

5
ответ дан 23 November 2019 в 04:34

Я использую карту NVIDIA только для выполнения CUDA и узнаю этот подход:

Все время я использую карту Intel, и она подтверждена командой lspci | grep -E "VGA|3D":

00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev ff)

В соответствующей строке для карты NVIDIA необходимо видеть (rev ff) средства, которые она выключила.

, Чтобы включить карту и использовать ее для вычислений CUDA я использую два после команд:

sudo prime-select nvidia
sudo prime-switch

После того отчета о команде lspci | grep -E "VGA|3D":

00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

Уведомление приблизительно (rev a2), не (rev ff) в соответствующей строке. Теперь карта, готовая к вычислению.

После вычислений я использую обратные действия:

sudo prime-select intel
sudo prime-switch

И lspci | grep -E "VGA|3D" сообщает:

00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev ff)
2
ответ дан 23 November 2019 в 04:34

В случае, если кто-то все еще находит проблемы после выполнения шагов в принятом ответе, попробуйте это:

echo "install bbswitch /bin/true" > /etc/modprobe.d/blacklist-bbswitch.conf
update-initramfs -u

Это отключит bbswitch в целом. Недостаток состоит в том, что Вы не сможете выключить карту NVIDIA для экономии электроэнергии (Xorg все еще используют интегрированную графику, целых prime-select intel).

0
ответ дан 23 November 2019 в 04:34

Я использую 1070 ti с thinkpad T420 в наборе egpu до криптовалюты шахты, в то время как я работаю. GPU теоретически заплатит за себя после нескольких месяцев этот путь.

Я нашел, что с nvidia 387 экспортируют LD_LIBRARY_PATH, =/usr/lib/nvidia-387 работал с ethminer, использующим cuda.

Однако единственный способ, которым я мог заставить систему продолжать работать после "главно-избранного Intel", состоял в том, если мне включили второй монитор карта, когда я сделал выбор и вышел из системы. Иначе я получил бы "Систему, выполняет в низком графическом режиме" ошибку или непрерывный пустой экран. Конечно, когда я действительно вхожу в рабочую графику Intel, монитор включил дисплеи GPU ничто, таким образом, я должен отключить его от gpu и включиться, это назад в систему (вывод прикрепления DVI) для выполнения моего поединка контролирует установку.

Я полагаю, что это вызвано тем, что gpu-менеджер обнаруживает, что bbswitch не работает и затем удаляет конфигурацию Xorg.

Я отправляю это для показа обходного решения для некоторых, кто мог бы быть в аналогичной ситуации, но также и видеть, есть ли у кого-либо идея мешать этому произойти, поскольку имеющий необходимость переместить тот кабель для каждой перезагрузки определенное неудобство.

log_file: /var/log/gpu-manager.log

last_boot_file:/var/lib/ubuntu-drivers-common/last_gfx_boot new_boot_file:/var/lib/ubuntu-drivers-common/last_gfx_boot не может получить доступ/run/u-d-c-fglrx-was-loaded к файлу, Ища fglrx модули в/lib/modules/4.4.0-104-generic/updates/dkms Поиске модулей Nvidia в/lib/modules/4.4.0-104-generic/updates/dkms Найденном модуле Nvidia: nvidia_387_drm.ko Является загруженная Nvidia? да Была разгруженная Nvidia? нет Nvidia помещена в черный список? да загруженный fglrx? нет fglrx был разгружен? нет fglrx помещен в черный список? нет Intel загружается? да загруженный Radeon? нет Radeon помещен в черный список? нет amdgpu загружается? нет amdgpu помещен в черный список? нет nouveau загружается? нет nouveau помещен в черный список? да fglrx доступный модуль ядра? нет действительно ли модуль ядра Nvidia доступен? да идентификатор Поставщика/Устройства: 8086:126 BusID "PCI:0@0:2:0" Является начальной загрузкой vga? да идентификатор Поставщика/Устройства: 10de:1b82 BusID "PCI:5@0:0:0" Является начальной загрузкой vga? никакой Пропуск "/dev/dri/card1", управляемый "i915", Пропускающим "/dev/dri/card0", управляемый "DRM Nvidia", Пропускающим "/dev/dri/card1", управляемый "i915", Пропускающим "/dev/dri/card0", управляемый "DRM Nvidia", Пропускающим "/dev/dri/card1", управляемый "i915", Пропускающим "/dev/dri/card0", управляемый "DRM Nvidia" Найденный "/dev/dri/card1", управляемый "i915", не произвел 0: card1-LVDS-1 производят 1: Количество card1-HDMI-A-2 связанных выводов для/dev/dri/card1: 2 это требует разгрузки? да последнее число карт = 2 Имеет AMD? нет Имеет Intel? да Имеет Nvidia? да, Сколько карт? 2 система изменилась? Никакой main_arch_path x86_64-linux-gnu, other_arch_path i386-linux-gnu Текущая альтернатива:/usr/lib/nvidia-387-prime/ld.so.conf Текущая базовая альтернатива: (пустая) Текущая egl альтернатива:/usr/lib/nvidia-387-prime/ld.so.conf Nvidia включают? нет Nvidia egl, включил? нет fglrx включен? нет мезаструктура включена? нет мезаструктура egl, включил? нет pxpress включен? нет Является главным, включил? да главный включенный egl? да доступная Nvidia? да Nvidia egl доступный? нет fglrx доступный? нет действительно ли fglrx-ядро доступно? нет действительно ли мезаструктура доступна? да мезаструктура egl доступный? да pxpress доступный? нет главный доступный? да главный egl доступный? никакой Intel IGP не обнаружил гибридную систему Intel, версия драйвера 387.34 Nvidia обнаружила/sys/class/dmi/id/product_version = "ThinkPad T420"/sys/class/dmi/id/product_name = "4236L23" 1-я попытка: bbswitch без причуд, Загружающихся bbswitch с "load_state =-1 unload_state=1" Ошибка параметров: не может открыть/proc/acpi/bbswitch, Удаляющий xorg.conf. Путь:/etc/X11/xorg.conf не может получить доступ/usr/share/gpu-manager.d/hybrid-power-saving ни к Какой потребности изменить текущее bbswitch состояние

Если я нано xorg.conf после этого это пусто. Я отправляю это после выполнения приема переключателя монитора с горной промышленностью, продолжающейся в фоновом режиме, и мой xorg.conf все еще пуст. Таким образом, мое предположение - то, что по некоторым причинам, когда я сохраняю монитор включенным к GPU на перезапуске lightdm, не имеет значения, что мой xorg.conf удален. Какие-либо идеи?

0
ответ дан 23 November 2019 в 04:34

Другие вопросы по тегам:

Похожие вопросы: