Виртуальная машина с gpu
Виртуальная машина графического процессора (GPU) в концентраторе Azure Stack
Область применения: интегрированные системы Azure Stack Hub
В этой статье описывается, какие модели графического процессора поддерживаются в интегрированной системе центра Azure Stack. Кроме того, вы можете найти инструкции по установке драйверов, используемых с графическими процессорами. Поддержка GPU в концентраторе Azure Stack позволяет выполнять такие решения, как искусственный интеллект, обучение, вывод и визуализация данных. AMD Radeon порывом MI25 можно использовать для поддержки ресурсоемких графических приложений, таких как Autodesk AutoCAD.
Можно выбрать одну из трех моделей GPU. Они доступны в видеоадаптерах NVIDIA V100, NVIDIA T4 и AMD MI25 GPU. Эти физические GPU выводятся в соответствии со следующими типами виртуальных машин Azure серии N следующим образом:
В этом выпуске не поддерживаются виртуальные машины GPU. Необходимо выполнить обновление до Azure Stack центра 2005 или более поздней версии. Кроме того, оборудование центра Azure Stack должно иметь физические GPU.
Виртуальные машины серии NCv3 созданы на базе GPU Tesla V100 от NVIDIA. Клиенты могут воспользоваться этими обновленными GPU для традиционных рабочих нагрузок HPC. Вы сможете реализовать такие сценарии, как пластовое моделирование, секвенирование ДНК, анализ белков, моделирование методом Монте-Карло и другие.
Размер | vCPU | Память: ГиБ | Временное хранилище (SSD): ГиБ | Графический процессор | Память GPU: ГиБ | Максимальное число дисков данных | Максимальное число сетевых адаптеров |
---|---|---|---|---|---|---|---|
Standard_NC6s_v3 | 6 | 112 | 736 | 1 | 16 | 12 | 4 |
Standard_NC12s_v3 | 12 | 224 | 1474 | 2 | 32 | 24 | 8 |
Standard_NC24s_v3 | 24 | 448 | 2948 | 4 | 64 | 32 | 8 |
Виртуальные машины серии NVv4 работают на базе процессоров AMD Radeon ПОРЫВОМ MI25 GPU. С помощью центра Azure Stack серии NVv4 представляет виртуальные машины с частичными GPU. Этот размер можно использовать для графических приложений с ускорением GPU и виртуальных рабочих столов. Виртуальные машины NVv4 в настоящее время поддерживают только гостевую ОС Windows.
Размер | vCPU | Память: ГиБ | Временное хранилище (SSD): ГиБ | Графический процессор | Память GPU: ГиБ | Максимальное число дисков данных | Максимальное число сетевых адаптеров |
---|---|---|---|---|---|---|---|
Standard_NV4as_v4 | 4 | 14 | 88 | 1/8 | 2 | 4 | 2 |
Standard_NV8as_v4 | 8 | 28 | 176 | 1/4 | 4 | 8 | 4 |
Standard_NV16as_v4 | 16 | 56 | 352 | 1/2 | 8 | 16 | 8 |
Standard_NV32as_v4 | 32 | 112 | 704 | 1 | 16 | 32 | 8 |
NCasT4_v3
Размер | vCPU | Память: ГиБ | Графический процессор | Память GPU: ГиБ | Максимальное число дисков данных | Максимальное число сетевых адаптеров |
---|---|---|---|---|---|---|
Standard_NC4as_T4_v3 | 4 | 28 | 1 | 16 | 8 | 4 |
Standard_NC8as_T4_v3 | 8 | 56 | 1 | 16 | 16 | 8 |
Standard_NC16as_T4_v3 | 16 | 110 | 1 | 16 | 32 | 8 |
Standard_NC64as_T4_v3 | 64 | 440 | 4 | 64 | 32 | 8 |
Рекомендации по системе GPU
Планирование ресурсов
Добавление GPU в существующий центр Azure Stack
Исправление и обновление, режим FRU виртуальных машин
Виртуальные машины GPU будут проходить простой во время таких операций, как исправление и обновление (ПНУ) и замена оборудования (FRU) центра Azure Stack. В следующей таблице рассматривается состояние виртуальной машины в ходе этих действий, а также ручное действие, которое позволяет сделать эти виртуальные машины доступными после выполнения операции.
Установка гостевого драйвера
Для установки драйверов можно использовать следующие командлеты PowerShell:
В зависимости от операционной системы введите и подключение виртуальной машины GPU Azure Stack Hub, необходимо изменить с помощью параметров ниже.
AMD MI25 — подключено
Приведенную выше команду можно использовать с соответствующим типом драйвера для AMD. в статье устанавливаются драйверы amd GPU на виртуальных машинах серии N, где выполняется Windows содержатся инструкции по установке драйвера для AMD Radeon порывом MI25 на виртуальной машине с включенной NVv4 GPU-P, а также инструкции по проверке установки драйверов.
AMD MI25 — отключено
Так как расширение извлекает драйвер из расположения в Интернете, виртуальная машина, отключенная от внешней сети, не может получить к ней доступ. Вы можете скачать драйвер по ссылке ниже и отправить ее в учетную запись хранения в локальной сети, доступной для виртуальной машины.
NVIDIA
Драйверы NVIDIA должны быть установлены внутри виртуальной машины для рабочих нагрузок CUDA или GRID с помощью GPU.
Вариант использования: сетка графики или визуализации
Этот сценарий требует использования драйверов сетки. Драйверы сетки можно скачать с помощью центра приложений NVIDIA, если у вас есть необходимые лицензии. Для драйверов сетки также требуется сервер лицензирования сетки с соответствующими лицензиями на СЕТКу, прежде чем использовать драйверы сетки на виртуальной машине.
Вариант использования: «COMPUTE/CUDA-Connected»
Драйверам CUDA не требуется сервер лицензий, и изменения параметров не требуются.
Вариант использования: «COMPUTE» или «CUDA-disconnected»
Windows:
Linux:
Вам потребуется сослаться на некоторые URL-адреса для параметров.
Развертывание виртуальных машин с GPU на устройстве Azure Stack Edge Pro с GPU
Если вы не устанавливали расширение GPU при создании виртуальной машины, выполните следующие действия, чтобы установить его на развернутой виртуальной машине.
Перейдите к виртуальной машине, в которую необходимо добавить расширение GPU.
Щелкните Добавить расширение в разделе Сведения. Затем выберите расширение GPU, которое необходимо установить.
Удалить расширение GPU на портале нельзя. Вместо этого используйте командлет Remove-AzureRmVMExtension в Azure PowerShell. Указания см. в разделе Удаление расширения GPU.
При создании виртуальной машины с GPU с помощью шаблонов расширение GPU устанавливается после развертывания. Подробные инструкции по использованию шаблонов для развертывания расширения GPU на виртуальной машине Windows или виртуальной машине Linux см. в статье Установка расширения GPU.
Следующие шаги
область применения:Azure Stack ребро Pro-gpu
Azure Stack r
В этой статье описывается, как создать виртуальную машину с GPU на портале Azure или с помощью шаблонов Azure Resource Manager.
Используйте портал Azure для быстрого развертывания одной виртуальной машины с GPU. Расширение GPU можно установить во время или после создания виртуальной машины. Можно также использовать шаблоны Azure Resource Manager для эффективного развертывания нескольких виртуальных машин с GPU и управления ими.
Создание виртуальных машин с GPU
Виртуальную машину с GPU можно развернуть через портал Azure или с помощью шаблонов Azure Resource Manager.
Список поддерживаемых операционных систем, драйверов и размеров виртуальных машин для виртуальных машин с GPU см. в статье Что такое виртуальные машины с GPU?. Рекомендации по развертыванию см. в статье Виртуальные машины с GPU и Kubernetes.
Если на устройстве будет выполняться Kubernetes, не настраивайте Kubernetes до развертывания виртуальных машин с GPU. Если сначала настраивается Kubernetes, он выделяет себе все доступные ресурсы GPU и создание виртуальной машины с GPU завершается ошибкой. Рекомендации по развертыванию Kubernetes на устройствах с 1 GPU и 2 GPU см. в статье Виртуальные машины с GPU и Kubernetes.
Выполните следующие действия, чтобы развернуть виртуальные машины с GPU на устройстве с помощью портала Azure.
Чтобы создать виртуальные машины с GPU, выполните все действия, приведенные в статье Развертывание виртуальной машины на устройстве Azure Stack Edge с помощью портала Azure, с учетом следующих требований к конфигурации.
На вкладке Основные сведения выберите размер виртуальной машины серии NCasT4-v3.
Чтобы установить расширение GPU во время развертывания, на вкладке Дополнительно щелкните Выбрать расширение для установки. Затем выберите расширение GPU, которое необходимо установить. Расширения GPU доступны только для виртуальной машины с размером виртуальной машины серии NCasT4-v3.
Если вы используете образ Red Hat, установить расширение GPU необходимо после развертывания виртуальной машины. Выполните действия, описанные в разделе Установка расширения GPU.
На вкладке Дополнительно отображается выбранное расширение.
После создания просмотреть виртуальную машину с GPU можно в списке виртуальных машин в ресурсе Azure Stack Edge на портале Azure.
Выберите виртуальную машину и перейдите к подробным сведениям. Убедитесь, что расширение GPU имеет состояние Успешно.
Выполните следующие действия, чтобы развернуть виртуальные машины с GPU на устройстве с помощью шаблонов Resource Manager.
Загрузите шаблоны виртуальных машин и файлы параметров на клиентский компьютер. Распакуйте их в каталог, который будет использоваться в качестве рабочей папки.
Перед развертыванием виртуальных машин на устройстве Azure Stack Edge необходимо настроить клиент для подключения к устройству через Azure Resource Manager в Azure PowerShell. Подробные инструкции см. в статье Подключение к Azure Resource Manager на устройстве Azure Stack Edge.
Чтобы создать виртуальные машины с GPU, выполните все действия, приведенные в статье Развертывание виртуальной машины на устройстве Azure Stack Edge с помощью шаблонов, с учетом следующих требований к конфигурации.
После создания просмотреть виртуальную машину с GPU можно в списке виртуальных машин в ресурсе Azure Stack Edge на портале Azure.
Выберите виртуальную машину и перейдите к подробным сведениям. Скопируйте IP-адрес, выделенный для виртуальной машины.
При обновлении версии 2012 программного обеспечения устройства до более поздней необходимо вручную отключить виртуальные машины с GPU.
Установка расширения GPU после развертывания
Чтобы воспользоваться преимуществами GPU виртуальных машин Azure серии N, нужно установить графические драйверы GPU NVIDIA. На портале Azure можно установить расширение GPU во время или после развертывания виртуальной машины. Если вы используете шаблоны, установить расширение GPU можно после создания виртуальной машины.
«Не процессором единым»: Виртуальные GPU
Объемы данных, накапливаемых в мире, растут, поэтому появляются все новые способы их обработки. Один из способов повышения скорости вычислений – совместное использование центрального (CPU) и графического процессора (GPU). Вычисления с GPU-ускорением были придуманы еще в 2007 году компанией Nvidia, но теперь технология вышла на новый уровень и применяется в дата-центрах крупнейших научных лабораторий и предприятий.
Мы уже затрагивали тему виртуализации в своем блоге, когда говорили о том, как и кем используется виртуальная инфраструктура. Сегодня нам бы хотелось рассказать вам, как работают виртуальные графические процессоры и какие GPU-технологии существуют на рынке.
Вычисления на GPU используются не только в компьютерных играх и при работе с видеоконтентом. Например, NASA, по заявлению одного из ученых-метеорологов, использует GPU в моделях GEOS-5 для увеличения эффективности численного моделирования атмосферных явлений. Это позволяет повысить доступность системы для большего числа людей, гарантируя разрешение 100–200 км/пиксель.
Вычисления с GPU-ускорением применяются и в бизнес-аналитике. Так, по словам старшего научного сотрудника HP Labs Рена Ву (Ren Wu), GPU позволили увеличить производительность используемых аналитических систем в 5–20 раз.
Сравнение центрального и графического процессоров
Архитектуры CPU и GPU изначально «заточены» под решение разных задач. Центральный процессор решает задачи общего назначения: исполнение набора последовательных инструкций, управление периферийными устройствами и так далее, поэтому обычно он содержит от 2 до 18 ядер, имеющих сложную структуру.
GPU же изначально проектировался для работы с графикой, потому состоит из большего числа энергоэффективных ядер, способных обрабатывать до нескольких тысяч потоков одновременно. При этом на GPU выполняется лишь часть самых ресурсоемких вычислений, а остальное отдается CPU.
Использование подобного рода вычислений актуально в научной сфере, поэтому для выполнения объемных научных расчетов создаются суперкомпьютеры, «начиненные» GPU. Однако несмотря на все преимущества подобного рода вычислений, закупка физического оборудования выливается в серьезные денежные траты. Более того, «железо» имеет тенденцию к устареванию, потому его приходится регулярно обновлять.
Технология vGPU
Эти проблемы призвана решить технология виртуальных графических процессоров (vGPU), представленная Nvidia, которая дает пользователям возможность удаленно запускать графикоемкие приложения. Здесь стоит отметить, что до появления vGPU применялись другие методы ускорения обработки графики:
Такой решение, как показало тестирование, проведенное сотрудниками компании VMware, оказалось достаточно состоятельным. В своей работе они описали результаты тестов приложений с использованием продуктов VMware: Workstation 6.5 и Fusion 2.0. Им удалось установить, что производительность Half-Life 2: Episode 2 и Civilization 4 при использовании виртуальных GPU была близка к фактической (как если бы игры запускали на физической машине).
Но технология vGPU находит применение в самых разных сферах: архитекторы и инженеры используют её в системах автоматизированного проектирования (например в Autodesk BIM), а дизайнеры работают с цифровым фото- и видеоконтентом (например в Adobe Photoshop). Она также применяется работниками из сферы здравоохранения, которые пользуются системами передачи и архивации медицинских изображений и документов обследованных пациентов (PACS), такими как GE Centricity EMR.
Стоит отметить, что до недавних пор невозможно было организовать доступ множества пользователей к одному GPU. Если 32 человека хотели обратиться к чертежам в AutoCAD со своих ВМ, то приходилось приобретать 8 дорогих видеокарт с 4 GPU. Эту проблему решила технология Nvidia GRID. Её суть заключается в совместном использовании vGPU несколькими виртуальными десктопами, к которым предоставляется прямой доступ с помощью драйверов Nvidia.
Фактически последняя версия Nvidia GRID 2.0 позволяет перенести всю работу в виртуальное пространство. Обновленная технология поддерживает до 128 пользователей на сервере и значительно увеличивает производительность приложений. Также GRID 2.0 позволяет запускать виртуальные десктопы на блейд-серверах и поддерживает не только ОС Windows, но и Linux.
Настройка режима vGPU для карт Nvidia в VMware vSphere 6
/ фото ChrisDag CC
Компания VMware ввела функцию виртуальных GPU в обновлении своей платформы виртуализации vSphere 6.0. Технология vGPU от Nvidia при использовании с продуктами VMware подразумевает использование в качестве платформы VMware vSphere 6, а в качестве средства управления виртуальными ПК – VMware Horizon 6.
vGPU поддерживается для графических адаптеров Nvidia GRID K1 и K2, для каждого из которых определены 4 профиля использования ресурсов видеокарты. Вот таблица их вариантов:
В данной таблице приведены три типа пользователей:
После того как Nvidia vGPU Manager настроен на хост-серверах ESXi, нам нужно подготовить виртуальные машины. Это делается через vSphere Web Client, где выбираются аппаратные характеристики ВМ в зависимости от типа рабочей нагрузки.
Затем в настройках ВМ нужно добавить Shared PCI Device, а также выбрать тип Nvidia GRID vGPU и профиль в соответствии с приведенной выше таблицей. После этого можно устанавливать гостевую ОС (Windows 7 и более поздние версии).
Теперь остается установить драйвер Nvidia GRID и настроить пул виртуальных ПК в VMware Horizon View: просто указываем протокол PCoIP и тип 3D-рендера Nvidia GRID VGPU. На этом все. Виртуальные машины готовы к работе с vGPU.
vGPU — использовать нельзя игнорировать
За июнь-июль к нам обратилось почти два десятка компаний, интересовавшихся возможностями виртуальных GPU. «Графикой» от Cloud4Y уже пользуется одна из крупных «дочек» Сбербанка, но в целом услуга не слишком популярная. Так что подобная активность нас весьма порадовала. Видя рост интереса к технологии, мы решили чуть подробнее рассказать про vGPU.
«Озёра данных», полученные в результате научных экспериментов и исследований, Deep Learning и другие направления работы с ИИ, моделирование крупных и сложных объектов — всё это требует высокопроизводительного «железа». Хорошо, если оно есть и позволяет быстро решать текущие задачи. Вот только из-за возрастающей вычислительной сложности задач (в первую очередь касается для бизнес-аналитики, рендеринга, DL-алгоритмов и фреймворков) аппаратные мощности настольных и даже серверных CPU всё чаще становятся бесполезны.
Выход был найден в использовании вычислений на GPU. Эта технология ускорения графики обеспечивает разделение ресурсов одного графического процессора между несколькими виртуальными компьютерами. GPU изначально проектировался для работы с графикой, потому состоит из тысячи мелких ядер, используемых для эффективной обработки параллельных задач. При этом на GPU выполняется часть самых ресурсоемких вычислений, остальное берёт на себя CPU.
Вычисления с помощью GPU придумала компания Nvidia ещё в 2007 году. Сегодня эта технология вышла на новый уровень и применяется в ЦОДах крупнейших предприятий и научных лабораторий. Однако у традиционного подхода есть один весомый недостаток: закупка физического оборудования обходится весьма недёшево. А если вспомнить скорость устаревания «железа», то становится ещё грустнее.
Проблему призвана решить технология виртуальных графических процессоров: vGPU. С её помощью пользователи могут удалённо запускать тяжёлые приложения вроде AutoCAD, 3DS Max, Maya, Sony Vegas Pro. Виртуализация быстро отвоевала свою долю рынка. Ведь какой русский data-scientist не любит быстрых вычислений на видеокартах NVidia Tesla?
Здесь стоит отметить, что до появления vGPU использовались другие методы ускорения обработки графики: Virtual Shared Graphics Acceleration (vSGA) и Virtual Dedicated Graphics Acceleration (vDGA). Решение vGPU объединило лучшее из обеих технологий. Как и в случае vSGA, в среде vGPU предполагается совместное использование GPU и RAM несколькими виртуальными рабочими столами, но при этом каждая ВМ передаёт команды напрямую к GPU, как в случае с vDGA.
Зачем вообще нужны vGPU
Облачные вычисления с использованием vGPU позволяют компаниям справляться с задачами, которые раньше невозможно было решить. Или возможно, но для этого требовалось нереально много ресурсов. 1 современный GPU-сервер способен заменить до 100 обычных CPU. Есть и другие, ещё более внушительные цифры. Это не шутки: решения Nvidia обрабатывают петабайты данных в несколько раз быстрее классических CPU-серверов. А тот же Google Cloud предлагает виртуальные машины с GPU, выдающие до 960 терафлопс.
Многие специалисты нуждаются в мощных устройствах, способных выполнять параллельные вычисления. Архитекторы и инженеры используют технологию vGPU в системах проектирования (тот же Autodesk, к примеру). Дизайнеры работают с цифровым фото- и видеоконтентом (Photoshop, CorelDraw). Виртуальные машины с графическими процессорами требуются и медицинским учреждениям, которые аккумулируют и анализируют данных о пациентах и заболеваниях. Работает с GPU и «Яндекс».
При всём при этом решения на базе vGPU пока что не получили широкого распространения в мире. Так, в 2018 году NetApp провёл опрос среди компаний, использующих в работе графические процессоры. Результаты показали, что 60% организаций по-прежнему работают на собственной ИТ-инфраструктуре. «Облаком» же пользуются лишь 23%. В России проникновение технологии облачных вычислений имеет меньшее значение. Но благодаря новым аппаратным и программным решениям число компаний, использующих виртуальные машины с GPU, постоянно растёт.
Решения для vGPU
Разработкой технологий виртуализации графических ускорителей занимается много компаний, но среди них есть безусловные лидеры.
Один из наиболее авторитетных разработчиков решений в сфере облачных решений, компания VMware предлагает компаниям гипервизор ESXi, под которым скорость работы виртуальных графических процессоров сопоставима с реализациями на голом железе. В недавнем обновлении разработчик отключил балансировщик нагрузки vMotion и добавил поддержку технологии DirectPath I/O, которая связывает драйвер CUDA с ВМ в обход гипервизора и ускоряет передачу данных.
Nvidia тоже старается соответствовать ожиданиям рынка, и для этого выпустила opensource-платформу Rapids. Решение объединяет несколько библиотек для работы с архитектурой CUDA, что упрощает работу с данными во время тренировки нейросетей и позволяет автоматизировать работу с Python-кодом. Использование Rapids с алгоритмом машинного обучения XGBoost даёт 50-кратное увеличение производительности по сравнению с системами на базе CPU.
Своя технология есть и у AMD. Платформа называется ROCm. Она использует технологию SR-IOV, которая делит аппаратные возможности физического устройства между несколькими виртуальными машинами. Ресурсы одного ускорителя можно разделить между шестнадцатью пользователями, поддерживая равную производительность для каждого из них. Таким образом ускоряется передача данных между облачными CPU и GPU. Также используется специальный диалект C++ под названием HIP, который упрощает выполнение математических операций на GPU.
Intel строит свою технологию базе кросс-платформенного гипервизора Citrix XenServer 7, который в 2017 году получил сертификат соответствия ФСТЭК. Решение объединяет работу стандартного GPU-драйвера и виртуальной машины. То есть «виртуалка» может поддерживать работу тяжёлых приложений на устройствах большого (несколько сотен) количества пользователей.
Рыночные перспективы
Независимые аналитики считают, что объём продаж решений для HPC-систем достигнет 45 млрд долларов к 2022 году. Разработчики платформ также ожидают увеличения спроса на высокопроизводительные системы. Это ожидание подкрепляется популярностью Big Data и часто возникающей необходимостью обрабатывать крупные объёмы данных.
Также рост спроса на vGPU может стимулировать развитие гибридных технологий, объединяющих GPU и CPU в одном устройстве. В таких интегрированных решениях два вида ядер используют общий кэш, что ускоряет перенос данных между графическими и традиционными процессорами.
Гибриды в корне изменили подход к виртуализации и распределению виртуальных ресурсов в рамках дата-центров. А решения с открытым исходным кодом наподобие ROCm и Rapids позволяют операторам ЦОД эффективнее использовать вычислительные ресурсы, повышая производительность оборудования.
Есть и другое мнение. Например, что виртуальные GPU будут вытеснены оптическими чипами с фотонным кодированием данных. Такие решения уже существуют и используются для машинного обучения. Более того, они кажутся производительнее обычного GPU. Но технология ещё сыровата.
Какой можно сделать вывод? Несмотря на возможное появление аналогов, vGPU — вполне перспективное направление, способное решать большое количество задач. Но подходит оно не всем. Так что запятую в заголовке можете поставить сами.