Карта NVIDIA для CUDA и карта AMD для отображения на Ubuntu 16.04

11

Я использую Ubuntu 16.04, так как именно эта ОС мне показалась более удобной для работы с сверточными нейронными сетями (CNN). Процесс установки Ubuntu был в порядке, пока я не захотел установить две графические карты в одной системе:

  • NVIDIA 970 GTX
  • AMD R9 380

Я хотел использовать свою карту NVIDIA только для CUDA, чтобы иметь возможность использовать всю свою графическую память и AMD для графического интерфейса пользователя. Для этого все мониторы будут подключены к этой карте.

Проблемы:

  • Когда я устанавливаю драйверы nvidia и cuda 8.0, все выглядит нормально, но когда я устанавливаю драйвер AMD, я не могу войти в систему lightdm.
  • Если я подключаю мониторы к видеокартам AMD, это говорит о том, что lightdm работает в режиме низкой графики и ничего не работает.
  • Изменение файла xorg.conf не имеет никакого значения, так как он перезаписывается gpu-manager

Я не мог найти учебник, объясняющий, как это сделать.

Маркус
источник
Вырежьте и вставьте часть ответа в отдельный ответ ниже.
Edwinksl
Хорошо, я сделал это ..
Маркус

Ответы:

11

Перед началом работы я рекомендую установить ssh, чтобы иметь возможность удаленно завершить работу системы, если что-то пойдет не так. Для этого используйте эту команду:

sudo apt-get install ssh

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

sudo shutdown -r now

Шаг 1

Прежде всего, вам нужно физически извлечь карту AMD, оставить карту NVIDIA и установить CUDA и драйвер NVIDIA. Вы можете скачать Cuda здесь: https://developer.nvidia.com/cuda-downloads

Убедитесь, что все работает с помощью этой команды:

nvidia-smi

Шаг 2

На этом этапе нам нужно изменить grub, чтобы запустить его в режиме консоли, поскольку мы работаем с графическими картами.

Используя ваш любимый редактор (в моем случае joe), отредактируйте файл конфигурации grub по умолчанию:

sudo joe /etc/default/grub

И измени эти строки:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console

к этим:

GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

Наконец, обновите grub с помощью этой команды:

sudo update-grub

Шаг 3

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

wget https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-16.40-348864.tar.xz
tar -Jxvf amdgpu-pro-16.40-348864.tar.xz
cd amdgpu-pro-16.40-348864/
./amdgpu-pro-install
sudo usermod -a -G video $USER

Перезагрузите компьютер. Теперь вы можете запустить lightdm (пользовательский интерфейс) с помощью этой команды:

sudo service lightdm start

Все должно работать как положено, и теперь вы можете настроить свои дисплеи, используя системные настройки.

Шаг 4

Завершите работу системы, а затем добавьте карту NVIDIA и не извлекайте AMD (на этом этапе в вашей системе будет две видеокарты). Включите компьютер и войдите под своим именем пользователя, но НЕ ЗАПУСКАЙТЕ LIGHTDM !!

В этот момент gpu-manager автоматически настроил обе графические карты для консольного режима и только AMD для lightdm (так как мы запустили lightdm на предыдущем шаге). Если в этот момент мы запустим lightdm, gpu-manager сделает беспорядок. Так что теперь мы должны полностью отключить gpu-manager. Для этого нам нужно снова изменить grub:

sudo joe /etc/default/grub

и заменить эти строки:

GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

этими:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nogpumanager"
GRUB_CMDLINE_LINUX=""
#GRUB_TERMINAL=console

Наконец, обновите grub с помощью этой команды:

sudo update-grub

Шаг 5

Перезагрузите систему, и если lightdm не запускается правильно (он выглядит как черный экран), вам нужно нажать Ctrl + F1, войти в консольный режим и добавить эту команду в файл rc.local:

sudo joe /etc/rc.local

добавьте эту строку перед «выходом 0»:

service lightdm start

перезагрузите систему и все должно работать нормально ...

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

lspci -nnk | grep -i vga -A3 | grep 'in use'

Kernel driver in use: amdgpu
Kernel driver in use: nvidia

и nvidia-smi должно работать нормально. показывая, что вы используете 0 мегабайт памяти:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26                 Driver Version: 375.26                    |
|-------------------------------+----------------------+----------------------+
| 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 970     Off  | 0000:02:00.0     Off |                  N/A |
| 30%   42C    P0    36W / 163W |      0MiB /  4036MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
Маркус
источник
Я пытался заставить это работать в течение пары дней. Какое ядро ​​вы использовали в Ubuntu 16.04?
Аарон Скомра
Вам удалось?
Шимон Розевский
1
@ d84_n1nj4 Я не пробовал Ubuntu 18.04, возможно, он работает напрямую, без необходимости выполнять все эти шаги ... было бы неплохо, если бы вы могли поделиться своим опытом.
Маркус
1
@ Маркус, я сделаю это. Должен ли он начать / сделать к понедельнику. Что ж, как только Amazon
отправит
2
@ Маркус действительно работал сразу после подключения - мне не нужно было выполнять какие-либо шаги ^^
d84_n1nj4