Використання AWS EC2 G2 інстансів
May 19, 2017
1 min read
23 views
Share

G2 інстанси оптимізовані для додатків, що використовують ресурси відео підсистеми.

Після запуску такого інстансу, фізично отримуємо доступ до відео карти nVidia. Такий інстанс необхідно налаштувати щоб додатки могли використовувати ці ресурси, в іншому випадку буде використовуватися тільки ЦП.

На мінімальному g2.2xlarge додатку надається:

  1. Відеокарта nVidia з 4 Гб відеопам’яті.
  2. 16 Гб ОЗП і 8 ядерний ЦП.

Приклад використання на одному і тому ж обладнанні додатку

  1. Не налаштований інстанс (видно як ЦП навантажується максимально)
  2. Налаштований інстанс (показано, що додаток явно використовує відеопам’ять і дуже мало навантажує ЦП)

Процес налаштування інстансу

Розглядається ОС ubuntu 16.04 xenial.

Для того, щоб додатки, запущені в фоні могли використовувати ресурси відео підсистеми, необхідно:

  1. Встановити драйвера відео
    $ apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub 
    
    $ sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
    
    $ apt-get update && sudo apt-get install -y --no-install-recommends linux-headers-generic dkms cuda-drivers
  2. Перезапустити сервер
    $ reboot
  3. Встановити X на інстанс, для того, щоб був активізований дисплей :0 (тільки він може використовувати апаратне прискорення, усі інші тільки емуляція).
  4. Встановити docker-ce, nvidia-docker (docker-wrapper для запуску контейнерів з доступом до відео обладнання).
    Пункти 3 та 4 можна виконати скориставши автоматизованим скриптом репозиторію  https://github.com/plumbee/nvidia-hw-accelerated-box.git
  5. Перезапустити сервер
    $ reboot

Додатки запущені на інших віртуальних дисплеях також можуть використовувати ресурси відеопідсистеми шляхом використання VirtulGL.

Якщо все добре, то виконання команди glxinfo повинно вивести обширну інформацію, те ж саме повинно виводитися на екран при запуску команди в докер контейнері.

Для виведення інформації про відео, використовується команда: nvidia-smi.

Корисні посилання:

  1. https://github.com/plumbee/nvidia-hw-accelerated-box
  2. https://github.com/NVIDIA/nvidia-docker
  3. https://medium.com/@pigiuz/setting-up-a-hw-accelerated-desktop-on-aws-g2-instances-4b58718a4541
  4. https://medium.com/@pigiuz/hw-accelerated-gui-apps-on-docker-7fd424fe813e
  5. https://github.com/plumbee/nvidia-virtualgl