Как настроить igpu для xserver и Nvidia gpu для cuda?

Ubuntu 16.04

Вывод uname -a:

Linux HOST 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Настольный класс:

  • ЦП: Intel
  • GPU: Nvidia с 361,42

Что я хочу:

  • intel GPU должен выполнить xserver и мой монитор, который подключен к встроенному DP
  • GPU Nvidia должен только использоваться для определенного вычисления CUDA и т.д.
  • полный контроль над Nvidia gpu (реальное время, статистика, работает временно скорости вентилятора...),

Моя проблема:

  • ни один nvidia-smi ни nvidia-settings работайте и я не могу управлять своим GPU Nvidia (ошибки цитируются далее вниз),

Моя история:

После краткого изложения моей проблемы я хочу погрузиться в тему; Начиная с релиза Ubuntu 16.04 я чиню и не удаюсь достигнуть следующего:

  • Я хочу, чтобы мой intel GPU (i7 6700K) управлял моим Xserver и всем associtated к нему.
  • Я хочу свою специализированную Nvidia, GPU, который только будет использоваться для Cuda, основывал вычисление и т.п..
  • Я добавлю больше чем одну Nvidia GPU к системе, после того, как я решил свои проблемы.

Краткое изложение моего начального состояния:

Я установил собственные Драйверы для Nvidia и Intel (микрокод Intel, и nvidia-361.42) через Кв. - добираются и отключенная безопасная начальная загрузка через mokutul - запрещать-проверка.
Затем я установил главный Nvidia для использования карты Intel.
Затем я отредактировал свой xorg.conf для содержания только одного экрана с Intel gpu и драйвером Intel. (попросите детали в случае необходимости),
Тестируя GPU на рендеринг с Блендером, все казалось прекрасным, за исключением того, что я не мог получить статистику своего gpu, и настройки Nvidia казались пустыми.

Ошибки:

sudo nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

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

Мои две проблемы связаны, но не то же:

Пустые настройки Nvidia:

  • это вызвано тем, что эти настройки только обнаруживаются, когда существует Xserver, подключенный к GPU Nvidia
  • решение для этого состояло бы в том, чтобы добавить новый экран в xorg.conf, который вызывает и неиспользованный xserver для работы GPU Nvidia
  • но это в настоящее время не возможно (см. другую проблему), и не желаемый, поскольку я просто хочу, чтобы GPU Nvidia сфокусировался на Cuda

Nvidia-smi, не работающая:

  • bbswitch не является проблемой, поскольку мой GPU (550ti) не поддерживает его (ошибки в dmesg)
  • Nvidia главные изменения запись для x86_64-linux-gnu_gl_conf к также /usr/lib/nvidia-361/ld.so.conf (Nvidia выбранный GPU) или /usr/lib/nvidia-361-prime/ld.so.conf (intel GPU выбрал),
  • конфигурация для выбора Intel пропускает существенные пути к существенным модулям Nvidia, которые являются всем подарком в conf для выбора Nvidia
  • при переключении на Nvidia через главный выбор у меня нет Xserver, поскольку Дисплей подключен к интегрированному GPU, но входящий в систему в nvidia-smi виртуальной консоли работает

Мое предположение:

  • Главная Nvidia плоха и не хочет способ, которым я хочу.
  • Я должен так или иначе преодолеть главный и настроить систему (даже вручную пишущий новые конфигурации?)

Мои попытки:

  • Я пытался удалить главный Nvidia, но я только распознал впоследствии, что это не может работать. Когда conf файл для x86_64-linux-gnu_gl_conf удален, результатом является чистая путаница...
  • Я даже пытался добавить недостающие пути к x86_64-linux-gnu_gl_conf файлам вручную, но я действительно не знал то, что я делал и не имел никакого успеха.

Мои вопросы:

1) Как я могу решить проблему nvidia-smi? Я на правильном пути? У кого-либо есть инструкции, как я мог продолжить двигаться?

2) Действительно ли возможно включить управление вентилятора и дальнейшие средства управления для Nvidia gpu (coolbits в xorg.conf) без Xserver на gpu (без экрана для gpu в xorg.conf)?

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

Спасибо

Изображения

Мое дополнительное изображение вкладки драйвера: enter image description here

11
задан 16 June 2016 в 18:52

5 ответов

Я (создатель этого сообщения) нашел решение, в котором я нуждаюсь самостоятельно!

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

РЕШЕНИЕ:
УСТАНАВЛИВАЮТ ДРАЙВЕР NVIDIA ЧЕРЕЗ RUNFILE, ОБЕСПЕЧЕННЫЙ В http://www.nvidia.com/object/unix.html С ФЛАГОМ "-no-opengl-files"!!

Это предотвращает не только Nvidia opengl файлы от перезаписи существующих меза-файлов, но также и устанавливает драйвер без главной Nvidia!!

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

, ВО-ВТОРЫХ

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

мой похож на это

Section "ServerLayout"
    Identifier     "Layout0"
    Screen 0       "intel" 0 0
    Screen 1       "nvidia550ti" 3000 0
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "intel"
    BusID          "PCI:0@0:2:0"
EndSection

Section "Device"
    Identifier     "nvidia550ti"
    Driver         "nvidia"
    BoardName      "GeForce GTX 550ti"
    BusID          "PCI:2@0:0:0"
EndSection

Section "Screen"
    Identifier     "intel"
    Device         "intel"
EndSection

Section "Screen"
    Identifier     "nvidia550ti"
    Device         "nvidia550ti"
    Option         "AllowEmptyInitialConfiguration" "on"
    Option         "Coolbits" "4"
    Option         "ConstrainCursor" "on"
EndSection
3
ответ дан 17 June 2016 в 04:52

Я получил конфигурацию, которую Вы хотите (я хотел ее также ;)):

  • intel GPU должен выполнить xserver и мой монитор, который подключен к встроенному DP
  • GPU Nvidia должен только использоваться для определенного вычисления CUDA и т.д.
  • полный контроль над Nvidia gpu (реальное время, статистика, работает временно скорости вентилятора...),

при помощи bumblebee.

Но прежде чем я вдаюсь в некоторые подробности, я должен предупредить Вас, что при изменении конфигурации настроек Nvidia или xorg.conf или главной Nvidia, необходимо перезагрузить систему (возможно, Вы уже знаете). Не перезагрузка могла оставить систему в несогласованном состоянии.


В моей конфигурации я не затрагивал xorg.conf. Выполнение так для меня это всегда был источник боли. Оставьте это исходному состоянию. Если Вы не хотите выполнять новую установку, можно найти некоторые резервные копии в /etc/X11/ (ls /etc/X11/xorg.conf*).

Первый шаг пытается сделать nvidia-settings работа. Если Вы успешно выполняетесь, чтобы сделать так, можно использовать Nvidia, ГЛАВНУЮ для переключения на intel GPU, поскольку Вы упоминаете, что уже сделали. Наличие Nvidia, главная точка к intel GPU необходима, если Вы хотите использовать GPU NVIDIA только для вычислений CUDA (особенно необходимо, если Вы хотите использовать cuda отладчик cuda-gdb).

После этого можно попытаться установить шмеля:

sudo apt install bumblebee

Перезагрузка. Можно контролировать состояние использования шмеля

sudo service bumblebeed status

или

bumblebeed -vv

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

Чтобы заставить шмеля работать, я должен был вручную отредактировать /etc/bumblebee/bumblebee.conf правильно определять имя драйвера Nvidia и путь.

[...]
Driver=nvidia
[...]
KernelDriver=nvidia_361
[...]
LibraryPath=/usr/lib/nvidia-361:/usr/lib32/nvidia-361

Затем после a sudo service bumblebeed restart Мне удалось активировать систему шмеля.

Действительно? nvidia-smi возвраты

$ nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

но optirun nvidia-smi:

$ optirun nvidia-smi
Fri Jun 17 11:47:48 2016       
+------------------------------------------------------+                       
| NVIDIA-SMI 361.42     Driver Version: 361.42         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 970M    Off  | 0000:01:00.0     Off |                  N/A |
| N/A   53C    P1    18W /  N/A |     18MiB /  3071MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     20678    G   /usr/lib/xorg/Xorg                               4MiB |
+-----------------------------------------------------------------------------+

Надеюсь, это поможет.

1
ответ дан 17 June 2016 в 04:52

Принятый ответ использует X-сервер для включения устройств Nvidia. Это не необходимо и означает, что X-сервер будет использовать некоторую память карты.

Вместо этого nvidia-modprobe должен быть установлен, как описано в драйвере FAQ (может быть найден в ссылке ниже).

, Таким образом, мое рекомендуемое решение к:

1) Установка последний драйвер Nvidia через runfile от ftp://download.nvidia.com/XFree86/Linux-x86_64/ с --no-opengl-files и --dkms флаг.
2) Установка соответствие nvidia-modprobe версия через make all и sudo make install от ftp://download.nvidia.com/XFree86/nvidia-modprobe/

Эти --dkms флаг удостоверяется, что модуль ядра перекомпилирован при обновлении ядра.

3
ответ дан 17 June 2016 в 04:52

Я переустановил драйверы Nvidia без opengl, как упомянуто в вышеупомянутых решениях, но он не работал на меня. Кроме того, эти решения являются довольно неудовлетворительными, так как они подразумевают удаление некоторой возможности драйверов (opengl).

Я нашел много простого решения, для которого Вы не должны переустанавливать драйвер:

  • Я обычно устанавливал драйверы Nvidia
  • В настройках Nvidia gui, untder ГЛАВНЫЕ профили, я выбираю видеокарту Intel в качестве основного GPU
  • После перезагрузки не работает nvidia-smi, но я зафиксировал путем добавления/usr/lib/nvidia-387 к пути библиотек:
    export LD_LIBRARY_PATH=/usr/lib/nvidia-387:$LD_LIBRARY_PATH

Обратите внимание, что в зависимости от драйвера установил, Вы, возможно, должны были бы добавить другую папку в своем пути к библиотеке, например,/usr/lib/nvidia-384.
Можно добавить эту команду к файлу ~/.bashrc для автоматического экспорта пути при загрузке нового удара.

1
ответ дан 23 November 2019 в 04:08

главным образом как напоминание для меня: в человечности 18.04, чтобы использовать igpu для рендеринга и Nvidia gpu для cuda, установите драйверы Nvidia по умолчанию, открытые настройки Nvidia и установить для использования Intel gpu. После этого поместите в черный список nouveau драйверы и часть драйверов Nvidia:

откройтесь/etc/modprobe.d/blacklist-nvidia.conf и строки комментария таким образом:

#blacklist nvidia
blacklist nvidia-drm
#blacklist nvidia-modeset
#alias nvidia off
alias nvidia-drm off
#alias nvidia-modeset off

после этого откройтесь/etc/modprobe.d/blacklist-nvidia-nouveau.conf и добавьте те строки:

blacklist nouveau
options nouveau modeset=0

чтобы быть действительно уверенными, nouveau отключены, можно поместить в черный список их в/etc/modprobe.d/blacklist.conf также: в конце добавьте:

#Blacklist nouveau drivers
blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off

затем перезагрузка.

ввести nvidia-smi проверять Nvidia загружается, и тип lspci -nnk | grep -iA2 3D проверять используемый драйвер - Nvidia и не nouveau.

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

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

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