Использование экземпляров RDMA или GPU в пулах пакетной службы

Для выполнения некоторых пакетных заданий можно воспользоваться размерами виртуальных машин Azure, предназначенными для крупномасштабных вычислений. Например:

  • Чтобы запустить рабочие нагрузки MPI с несколькими экземплярами, выберите HB, HC, NC или ND или другие размеры, имеющие сетевой интерфейс для удаленного прямого доступа к памяти (RDMA). Эти размеры подключаются к сети InfiniBand для обмена данными между узлами, что может ускорить приложения MPI.

  • Для приложений CUDA можно выбрать размеры серии N, которые включают карты графического процессора (GPU) NVIDIA Tesla.

Эта статья содержит рекомендации и примеры для использования некоторых специализированных размеров Azure в пулах пакетной службы. Спецификации и общие сведения см. по следующим ссылкам:

  • размеры виртуальных машин, оптимизированных для высокопроизводительных вычислений (Linux, Windows);

  • размеры виртуальных машин с поддержкой графического процессора (GPU) (Linux, Windows).

Примечание.

Некоторые размеры виртуальных машин могут быть недоступны в регионах, где вы создаете учетные записи пакетной службы. Чтобы убедиться, что размер доступен, перейдите на страницу Доступность продуктов по регионам. Кроме того, см. статью, посвященную выбору размера виртуальной машины для пула пакетной службы.

Зависимости

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

Пулы Linux — конфигурация виртуальной машины

Размер Возможность Операционные системы Необходимое программное обеспечение Параметры пула
H16r, H16mr
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
RDMA Ubuntu 22.04 LTS
(Microsoft Azure Marketplace)
Intel MPI 5

Драйверы RDMA Linux
Включение связи между узлами, отключение параллельного выполнения задач
NCv3, NDv2, NDv4, NDv5 серии Графический процессор NVIDIA Tesla (зависит от серии) Ubuntu 22.04 LTS
(Microsoft Azure Marketplace)
Драйверы NVIDIA CUDA или из набора средств CUDA Toolkit Н/П
Серии NVv3, NVv4, NVv5 Ускоренная визуализация GPU Ubuntu 22.04 LTS
(Microsoft Azure Marketplace)
Драйверы NVIDIA GRID (при необходимости) Н/П

*Размеры серии N с поддержкой RDMA также включают графические процессоры NVIDIA Tesla

Внимание

Этот документ ссылается на версию выпуска Linux, которая приближается или находится в конце жизни(EOL). Пожалуйста, рассмотрите возможность обновления до более текущей версии.

Пулы Windows — конфигурация виртуальной машины

Размер Возможность Операционные системы Необходимое программное обеспечение Параметры пула
H16r, H16mr
NC24r, NC24rs_v2, NC24rs_v3, ND24rs*
RDMA Windows Server 2016, 2012 R2 или
2012 (Azure Marketplace)
Microsoft MPI 2012 R2 или более поздней версии либо
Intel MPI 5

Драйверы RDMA Windows
Включение связи между узлами, отключение параллельного выполнения задач
Серия NC, NCv2, NCv3, ND, NDv2 Графический процессор NVIDIA Tesla (зависит от серии) Windows Server 2016 или
2012 R2 (Azure Marketplace)
Драйверы NVIDIA CUDA или из набора средств CUDA Toolkit Н/П
Серии NV, NVv2, NVv4 Графический процессор NVIDIA Tesla M60 Windows Server 2016 или
2012 R2 (Azure Marketplace)
Драйверы NVIDIA GRID Н/П

*Размеры серии N с поддержкой RDMA также включают графические процессоры NVIDIA Tesla

Пулы Windows — конфигурация облачных служб

Предупреждение

Не рекомендуется использовать пулы в конфигурации облачных служб. Вместо них используйте пулы с конфигурацией виртуальных машин.

Размер Возможность Операционные системы Необходимое программное обеспечение Параметры пула
H16r, H16mr RDMA Windows Server 2016, 2012 R2, 2012 или
2008 R2 (семейство версий гостевой ОС)
Microsoft MPI 2012 R2 или более поздней версии либо
Intel MPI 5

Драйверы RDMA Windows
Включение связи между узлами,
отключение параллельного выполнения задач

Примечание.

Размеры серии N не поддерживаются в пулах конфигурации облачных служб.

Варианты настройки пула

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

  • Для пулов в конфигурации виртуальной машины выберите стандартный образ виртуальной машины Azure Marketplace с предустановленными драйверами и программным обеспечением. Примеры:

  • виртуальная машина для обработки и анализа данных для Linux или Windows — включает драйверы NVIDIA CUDA.

  • Образы Linux для рабочих нагрузок контейнеров пакетной службы, которые также включают драйверы GPU и RDMA:

  • Ubuntu Server (с драйверами GPU и RDMA) для контейнерных пулов пакетной службы Azure.

  • Создайте пользовательский образ виртуальной машины Windows или Linux с установленными драйверами, программным обеспечением или другими параметрами, необходимыми для размера виртуальной машины.

  • Создайте пакетный пакетный пакет из zip-драйвера или установщика приложений. Затем настройте пакетную службу для развертывания этого пакета в узлах пула и установите один раз при создании каждого узла. Например, если пакет приложения является установщиком, создайте командную строку задачи запуска, чтобы автоматически установить приложение на всех узлах пула. Рекомендуется использовать пакет приложения и задачу запуска пула, если рабочая нагрузка зависит от конкретной версии драйвера.

    Примечание.

    Задача запуска должна выполняться с повышенным уровнем разрешений (администратора) и должна дождаться успешного выполнения. Задачи с длительным выполнением приведут к увеличению времени подготовки пула пакетной службы.

Пример: драйверы GPU NVIDIA в пуле виртуальных машин Windows NC

Чтобы запустить приложения CUDA в пуле узлов NC под управлением Windows, необходимо установить драйверы GPU NVDIA. Ниже приведен пример процедуры с использованием пакета приложения для установки драйверов GPU NVIDIA. Вы можете выбрать этот вариант, если рабочая нагрузка зависит от конкретной версии драйвера GPU.

  1. Скачайте пакет установки для драйверов GPU в Windows Server 2016 с веб-сайта NVIDIA, например версию 411.82. Сохраните файл локально, используя короткое имя, например GPUDriverSetup.exe.
  2. Создайте ZIP-файл пакета.
  3. Отправьте пакет в учетную запись пакетной службы. Пошаговые инструкции см. в руководстве для пакетов приложений. Укажите идентификатор приложения, например GPUDriver, и его версию, например 411.82.
  4. Используйте API пакетной службы или портал Azure для создания пула в конфигурации виртуальных машин с нужным количеством узлов и необходимым масштабом. В следующей таблице показаны примеры параметров для автоматической установки драйверов GPU NVIDIA с помощью задачи запуска.
Параметр Значение
Тип образа Marketplace (Linux/Windows)
Издатель MicrosoftWindowsServer
ПРЕДЛОЖЕНИЕ WindowsServer
SKU 2016-Datacenter
Размер узла NC6 уровня "Стандартный"
Ссылки на пакет приложения GPUDriver, версия 411.82
Start task enabled (Включена задача запуска) Истина
Командная строка - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s"
Удостоверение пользователя. Автоматический пользователь пула, администратор
Ожидать успешное выполнение. True

Пример. Драйверы GPU NVIDIA в пуле виртуальных машин Linux NC

Чтобы запустить приложения CUDA в пуле узлов NC под управлением Linux, необходимо установить драйверы GPU NVIDIA Tesla из набора средств CUDA Toolkit. Следующие примеры действий по созданию и развертыванию пользовательского образа Ubuntu 22.04 LTS с драйверами GPU:

  1. Разверните виртуальную машину серии NC Azure под управлением Ubuntu 22.04 LTS. Например, создайте виртуальную машину в центрально-южной части США.
  2. Добавьте расширение драйверов GPU NVIDIA в виртуальную машину с помощью портала Azure, клиентского компьютера, подключенного к подписке Azure, или Azure Cloud Shell. Кроме того, можно выполнить соответствующие инструкции, чтобы подключить виртуальную машину и установить драйверы CUDA вручную.
  3. Выполните действия, чтобы создать образ Коллекции вычислений Azure для пакетной службы.
  4. Создайте учетную запись пакетной службы в регионе, поддерживающем виртуальные машины NC.
  5. Используйте API пакетной службы или портал Azure для создания пула с помощью пользовательского образа с нужным числом узлов и в нужном масштабе. В следующей таблице приведены примеры параметров пула для образа:
Параметр Значение
Тип образа Пользовательский образ
Пользовательский образ Имя образа
Номер SKU агента узла batch.node.ubuntu 22.04
Размер узла NC6 уровня "Стандартный"

Пример: Microsoft MPI в пуле виртуальных машин Windows H16r

Чтобы выполнять приложения Windows MPI в пуле узлов виртуальных машин H16r в Azure, необходимо настроить расширение HpcVmDrivers и установить Microsoft MPI. Ниже приведен пример процедуры по развертыванию пользовательского образа Windows Server 2016 с необходимыми драйверами и программным обеспечением.

  1. Выполните развертывание виртуальной машины H16r Azure под управлением Windows Server 2016. Например, создайте виртуальную машину в западной части США.
  2. Добавьте расширение HpcVmDrivers в виртуальную машину, выполнив команду Azure PowerShell на клиентском компьютере, который подключен к вашей подписке Azure, или с помощью Azure Cloud Shell.
  3. Откройте подключение к удаленному рабочему столу своей виртуальной машины.
  4. Скачайте пакет установки (MSMpiSetup.exe) с последней версией Microsoft MPI и установите Microsoft MPI.
  5. Выполните действия, чтобы создать образ Коллекции вычислений Azure для пакетной службы.
  6. Используйте API пакетной службы или портал Azure для создания пула с помощью Коллекции вычислений Azure с нужным числом узлов и в нужном масштабе. В следующей таблице приведены примеры параметров пула для образа:
Параметр Значение
Тип образа Пользовательский образ
Пользовательский образ Имя образа
Номер SKU агента узла batch.node.windows amd64
Размер узла H16r Standard
Включена связь между узлами Истина
Максимальное число заданий на узел 1

Следующие шаги

  • Для выполнения заданий MPI в пуле пакетной службы Azure ознакомьтесь с примерами для Windows или Linux.