Установка GRID-драйвера на ECS с GPU

Инструкция описывает установку и настройку рабочего стола Linux и GRID-драйвера для виртуальной машины с GPU-ускорением.

Для работы драйвера предварительно необходимо развернуть и настроить сервер лицензий.

Создание виртуальной машины

  1. Создайте виртуальную машину со следующими параметрами:

    • Тип GPU-accelerated в блоке Specifications.

    • Образ Ubuntu 16.04 server 64bit with Tesla Driver 450.51.06 and CUDA 11.0 в блоке Image.

      Примечание

      Версия драйверов Tesla® и CUDA® может отличаться на момент создания ECS.

  2. Убедитесь, что правила группы безопасности разрешают подключение ВМ к интернету.

Обновление операционной системы

  1. Подключитесь к созданной виртуальной машине.

  2. Обновите списки пакетов:

    sudo apt update && sudo apt upgrade -y
    
  3. Перезапустите ВМ после обновления списка пакетов:

    sudo reboot
    
  4. Подключитесь к ВМ после перезапуска.

  5. Обновите версию ОС:

    sudo do-release-upgrade
    
  6. Перезапустите ВМ после прохождения всех шагов обновления. Версия ОС изменится на Ubuntu LTS 18.04.

Подготовка к установке драйвера

  1. Выполните команду:

    lspci
    
  2. Запишите ID — идентификатор PCI карты. Это значение пригодится в следующих шагах.

    Примечание

    ID записан в шестнадцатиричном формате и находится в выводе команды lspci в начале строки с информацией о карте.

    Пример: 21:01:0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 PCIe 32GB] (rev a1)

    В этом примере ID PCI карты равен 21:01:0.

Установка рабочего стола и утилит для установки драйвера

  1. Отключите драйвер nouveau:

    sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
    
    sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
    
  2. Проверьте, что драйвер nouveau появился в черном списке. Запустите команду:

    cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
    

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

    blacklist nouveau
    
    options nouveau modeset=0
    
  3. Обновите initramfs-образы — выполните команду:

    sudo update-initramfs -u
    
  4. После выполнения предыдущей команды перезапустите ВМ:

    sudo reboot now
    
  5. Установите дополнительное программное обеспечение:

    • mesa-utils — набор утилит для теста графики;

    • pkg-config — вспомогательный пакет, который потребуется позже при установке драйвера;

    • libglvnd-dev — набор библиотек для драйвера;

    • dkms — утилита для сборки модуля ядра;

    • gcc и build-essential — наборы полезных утилит для сборки.

    Для установки выполните команду:

    sudo apt install mesa-utils pkg-config libglvnd-dev dkms gcc build-essential
    
  6. Установите рабочий стол — выполните команду:

    sudo apt install lightdm
    

    Примечание

    Рекомендуем устанавливать рабочий стол «lightdm». С другими рабочими столами драйвер GRID по этой инструкции может не установиться.

Установка драйвера NVIDIA GRID

  1. Скачайте драйвер NVIDIA GRID с официального сайта NVIDIA.

  2. Загрузите файл драйвера на ВМ.

  3. Добавьте права на выполнение файла:

    chmod +x NVIDIA-Linux-x86_64-***-grid.run
    
  4. Запустите установку драйвера:

    ./NVIDIA-Linux-x86_64-***-grid.run
    

Настройка драйвера

  1. Перейдите в каталог /etc/nvidia:

    cd /etc/nvidia
    
  2. Отредактируйте конфигурационные файлы:

    sudo cp gridd.conf.template gridd.conf
    
    sudo nano gridd.conf
    

    Измените следующие строки:

    ServerAddress=10.250.10.200 # вместо 10.250.10.200 укажите адрес вашего сервера лицензий
    
    ServerPort=7070 # вместо 7070 укажите порт вашего сервера лицензий
    
    FeatureType=2 # включите режим виртуализации карты
    
    EnableUI=TRUE # включите возможность открыть настройки карты с помощью графического интерфейса
    

    Сохраните изменения.

  3. Перезапустите ВМ:

    sudo reboot now
    

На этом настройка и установка драйвера завершена.

Настройка запуска рабочего стола

  1. Выполните команду:

    sudo nvidia-xconfig -a --allow-empty-initial-configuration --virtual=1920x1200 --busid PCI:33:1:0
    

    Примечание

    • В качестве идентификатора PCI укажите ID, записанный на этапе Подготовка к установке драйвера.

    • Каждое число в идентификаторе предварительно преобразуйте из шестнадцатиричного формата в десятеричный. В примере выше идентификатор до преобразования был «21:01:0», а после преобразования стал «33:1:0».

  2. Отредактируйте файл /etc/X11/xorg.conf:

    sudo nano /etc/X11/xorg.conf
    

    В секции «Device» допишите параметр Option "HardDPMS" "false" и сохраните файл конфигурации.

  3. Загрузите .deb-пакет virtualgl на ВМ.

  4. Установите пакет virtualgl:

    sudo dpkg -i virtualgl**.deb
    
  5. Выполните настройку пакета. Запустите команду:

    /opt/VirtualGL/bin/vglserver_config
    

    Задайте параметры:

    • «Configure server for use with VirtualGL» — «1»;

    • «Restrict 3D X server access to vglusers group (recommended)?» — «n»;

    • «Restrict framebuffer device access to vglusers group (recommended)?» — «n»;

    • «Disable XTEST extension (recommended)?» — «Y».

  6. Загрузите .deb-пакет TurboVNC на ВМ.

  7. Установите пакет turbovnc:

    sudo dpkg -i turbovnc***.deb
    
  8. Перезапустите ВМ, чтобы применить конфигурацию рабочего стола:

    sudo reboot now
    
  9. Подключитесь к ВМ по SSH. В фоновом режиме должен запуститься рабочий стол.

  10. Выполните команду:

    startx
    

    В консоли появится вывод команды:

    root@grid:/opt/VirtualGL/bin# startx
    X.Org X Server 1.19.6
    Release Date: 2017-12-20
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 4.15.0-140-generic x86_64 Ubuntu
    Current Operating System: Linux ecs-gpu-keep-it 4.15.0-142-generic #146-Ubuntu SMP Tue Apr 13 01:11:19 UTC 2021 x86_64
    Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-142-generic root=UUID=42149824-7843-457f-8560-066302a3b7fd ro net.ifnames=0 nospectre_v2 nopti noibrs noibpb
    Build Date: 08 April 2021  01:57:21PM
    xorg-server 2:1.19.6-1ubuntu4.9 (For technical support please see http://www.ubuntu.com/support)
    Current version of pixman: 0.34.0
          Before reporting problems, check http://wiki.x.org
          to make sure that you have the latest version.
    Markers: (--) probed, (**) from config file, (==) default setting,
          (++) from command line, (!!) notice, (II) informational,
          (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/var/log/Xorg.0.log", Time: Thu Apr 29 09:39:06 2021
    (==) Using config file: "/etc/X11/xorg.conf"
    (==) Using system config directory "/usr/share/X11/xorg.conf.d"
    
  11. Откройте новое SSH-подключение к ВМ и запустите VNC:

    /opt/TurboVNC/bin/vncserver
    

    VNC попросит настроить пароль для подключения. После настройки пароля вы увидите лог команды:

    Desktop 'TurboVNC: grid:1 (root)' started on display grid:1
    
    Starting applications specified in /root/.vnc/xstartup.turbovnc
    
    Log file is /root/.vnc/grid:1.log
    
  12. Откройте порт 5901 к ВМ.

    См.также

  13. Установите на свой компьютер VNC-клиент. Рекомендуем использовать VNC Viewer от RealVNC.

  14. С помощью установленного VNC-клиента подключитесь к ВМ по IP-адресу и порту. Если виден курсор мыши и рабочий стол, настройка прошла успешна.

Тестирование работы драйвера

  1. Откройте терминал с помощью интерфейса Linux.

  2. В терминале выполните команду тестового приложения «vglrun glxgears».

    vglrun glxgears
    

    Вы увидите, как начнут крутиться шестеренки.

  3. Чтобы проверить, что отрисовка происходит ресурсами карты, а не процессора, в терминале Linux запустите команду:

    nvidia-smi
    

    Убедитесь, что есть процессы, которые обрабатываются через карту.

    ../_images/s__gpu-demo.png
  4. Все следующие процессы запускайте с помощью команды:

    vglrun <название приложения>
    
Запустили Evolution free tier
для Dev & Test
Получить