Я нашел полдюжины постов на эту тему по всему Интернету, но ни один из них действительно не отвечает на вопрос.
Я хочу настроить мой графический процессор nvidia только для вычислений, а не для управления дисплеем. Но когда я переключаюсь на использование графического процессора Intel в конфигурации nvidia-prime, я больше не могу загрузить модуль nvidia.
modprobe: ERROR: could not insert 'nvidia_352': No such device
Без модуля CUDA не работает, очевидно.
Так что же делает nvidia-prime, что делает невозможным загрузку модуля? Это не в черном списке. Там нет файла xorg.conf, так как система узнает, что использует Intel GPU вместо дискретного?
Я использую Dell 5510 Precision с установленной на заводе Ubuntu 14.04, а мой графический процессор - Quadro M1000M.
Некоторые предлагают использовать шмеля, но это не должно быть необходимым для чисто вычислительных нагрузок.
Также, видимо, шмель способен загрузить модуль. Так что именно он делает?
Обновление: так почему мне всегда кажется, что я нахожу ответ, когда наконец пишу вопрос, после нескольких часов попыток его выяснить. Это актуально только частичный ответ, но я к чему-то.
До сих пор я определил, что премьер делает по крайней мере две вещи:
- Выключите графический процессор с помощью bbswitch.
- Изменяет альтернативы для /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf.
Используя bbswitch для повторного включения графического процессора, я теперь могу загрузить модуль NVIDIA.
Но остается вопрос: как лучше настроить систему на использование карты NVIDIA только для вычислений?
Должен ли я установить nvidia-prime для использования графического процессора Intel и попытаться вручную выяснить, что это сделало, чтобы заставить работать CUDA?
Как убедиться, что система все еще использует графический процессор Intel для дисплея?
Как мне просто отключить NVIDIA prime и настроить все вручную?
Или я должен сдаться и использовать Шмель и optirun? Каковы недостатки этого, если таковые имеются?
Любые рекомендации?
источник
Ответы:
В моем случае я обнаружил, что карта NVidia фактически не была выключена, и единственное, что мне действительно нужно было сделать для запуска кода CUDA, было:
в оболочке, где я хочу его запустить (я предполагаю, что глобальное изменение настроек альтернатив нарушит compiz, etc, etc ...)
Чтобы достичь этого (на Dell Optiplex 7010, с Ubuntu 14.04, CUDA 7.5 и GTX 980) я считаю, что следующие шаги:
Пока все работает нормально (nvidia-smi видит карту, запускаются образцы cuda, theano использует карту и т. Д.)
источник
Я полагаю, что нашел по крайней мере поверхностное решение, как описано в обновлении к моему первоначальному посту. На самом деле есть два решения, которые я нашел, хотя я уверен, что есть и другие.
1 - При использовании Prime в режиме Intel повторно включите карту NVIDIA через bbswitch , затем запустите
modprobe nvidia
для загрузки модуля и создания узлов устройства.2 - Используйте Bumblebee optirun, чтобы запустить сессию Bash, где вы можете делать все свои вещи CUDA.
Оба эти решения позволяют вам использовать встроенную графику для вашего дисплея, в то же время используя карту NVIDIA для вычислительных нагрузок. Решение optirun кажется более универсальным, но я предпочитаю первое за его минимализм.
Я надеюсь, что кто-то с большим пониманием улучшит этот ответ.
источник
Я использую карту NVIDIA только для исполнения CUDA и выясняю такой подход:
Я все время пользуюсь картой Intel, и это подтверждается командой
lspci | grep -E "VGA|3D"
:В соответствующем ряду для карты NVIDIA вы должны увидеть,
(rev ff)
что она выключена.Чтобы включить карту и использовать ее для вычислений CUDA, я использую две следующие команды:
После этого командного
lspci | grep -E "VGA|3D"
отчета:Обратите внимание
(rev a2)
, не(rev ff)
в соответствующем ряду. Теперь карта готова к вычислению.После вычислений я использую обратные действия:
И
lspci | grep -E "VGA|3D"
сообщает:источник
Если кто-то все еще находит проблемы после выполнения шагов в принятом ответе, попробуйте это:
Это отключит bbswitch в целом. Недостатком является то, что вы не сможете отключить карту NVIDIA для экономии энергии (Xorg по-прежнему будет использовать встроенную графику, пока
prime-select intel
).источник
Я использую 1070 ti с ThinkPad T420 в egpu, настроенном для моей криптовалюты во время работы. Таким образом, GPU теоретически окупится через пару месяцев.
Я обнаружил, что с nvidia 387 export LD_LIBRARY_PATH = / usr / lib / nvidia-387 работает с ethminer, использующим cuda.
Тем не менее, единственный способ заставить систему продолжать работать после «первоочередной информации» - это если бы к монитору был подключен второй монитор, когда я делал выбор и выходил из системы. В противном случае я получаю сообщение об ошибке «Система работает в режиме низкой графики» или постоянно пустой экран. Конечно, когда я вхожу в систему с графикой Intel, монитор, подключенный к графическому процессору, ничего не отображает, поэтому мне нужно отсоединить его от графического процессора и снова подключить к системе (вывод док-станции DVI), чтобы запустить настройку монитора дуэли. ,
Я считаю, что это потому, что gpu-manager обнаруживает, что bbswitch не работает, а затем удаляет конфигурацию xorg.
Я публикую это, чтобы показать обходной путь для тех немногих, кто может оказаться в подобной ситуации, а также посмотреть, есть ли у кого-нибудь идея, чтобы не допустить этого, так как необходимость перемещать этот кабель для каждой перезагрузки - это немного неудобство.
файл_файла: /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 / udc-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 в черном списке? нет Информация загружена? да загружен ли radeon? Нет ли Radeon в черном списке? нет загружен ли amdgpu? Нет ли amdgpu в черном списке? нет загружен ли модерн? Нет ли Nouveau в черном списке? да Доступен ли модуль ядра fglrx? нет Доступен ли модуль ядра nvidia? да Идентификатор производителя / устройства: 8086: 126 BusID "PCI: 0 @ 0: 2: 0" Является ли boot vga? да Производитель / Идентификатор устройства: 10de: 1b82 BusID "PCI: conf Текущая альтернатива ядра: (null) Текущая альтернатива egl: /usr/lib/nvidia-387-prime/ld.so.conf Включена ли nvidia? нет Включен ли nvidia egl? нет Включен ли fglrx? нет Включена ли меза? нет Включен ли mesa egl? нет Включен ли pxpress? нет Прайм включен? да Включен ли простой egl? да nvidia доступна? да Доступен ли nvidia egl? нет Доступен ли fglrx? нет Доступен ли fglrx-core? нет Доступна ли меза? да Доступен ли mesa egl? да Доступен ли pxpress? нет Премьер доступен? да Доступен ли простой egl? Intel IGP не обнаружен. Гибридная система Intel. Обнаружена версия драйвера Nvidia 387.34. / sys / class / dmi / id / product_version = "ThinkPad T420" / sys / class / dmi / id / product_name = "4236L23" 1-я попытка: bbswitch без излишеств. Загрузка bbswitch с помощью Параметры «load_state = -1 unload_state = 1» Ошибка: может ' t открыть / proc / acpi / bbswitch Удаление xorg.conf. Путь: /etc/X11/xorg.conf не может получить доступ к /usr/share/gpu-manager.d/hybrid-power-saving Нет необходимости изменять текущий статус bbswitch
Если я nano xorg.conf после этого он пуст. Я пишу об этом после выполнения трюка с переключением монитора, когда майнинг идет в фоновом режиме, а мой xorg.conf все еще пуст. Поэтому я предполагаю, что по какой-то причине, когда я продолжаю подключать монитор к графическому процессору при перезапуске lightdm, не имеет значения, что мой xorg.conf удален. Есть идеи?
источник