Поделиться через


Ускорение GPU для Azure IoT Edge для Linux в Windows

Область применения: Флажок IoT Edge 1.5 IoT Edge 1.5 Флажок IoT Edge 1.4 IoT Edge 1.4

Внимание

Поддерживаются выпуски IoT Edge 1.5 LTS и IoT Edge 1.4 LTS. IoT Edge 1.4 LTS заканчивается жизнью 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

Процессоры GPU — это популярное средство для вычислений искусственного интеллекта, так как они обеспечивают возможности параллельной обработки и часто могут выполнять вывод данных на основе визуального распознавания, быстрее чем ЦП. Для повышения поддержки приложений искусственного интеллекта и машинного обучения Azure IoT Edge для Linux в Windows (EFLOW) может предоставить GPU модулю Linux виртуальной машины.

Azure IoT Edge для Linux в Windows поддерживает несколько технологий сквозной передачи GPU, включая приведенные ниже.

  • Прямое назначение устройств . Ядра GPU выделяются либо виртуальной машине Linux, либо узлу.

  • Паравиртуализация GPU. GPU совместно используется виртуальной машиной Linux и узлом.

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

Важно!

К этим возможностям могут относиться компоненты, разработанные и принадлежащие корпорации NVIDIA или ее лицензиарам. Использование компонентов регулируется лицензионным соглашением NVIDIA, которое можно найти на веб-сайте NVIDIA.

Используя возможности ускорения GPU, вы принимаете условия Лицензионного соглашения NVIDIA.

Необходимые компоненты

Возможности ускорения GPU в Azure IoT Edge для Linux в Windows сейчас поддерживают выбранный набор оборудования GPU. Кроме того, для использования этой функции могут потребоваться определенные версии Windows.

Ниже перечислены поддерживаемые процессоры GPU и требуемые версии Windows:

Поддерживаемые графические процессоры Тип сквозного gpu Поддерживаемые версии Windows
NVIDIA T4, A2 DDA Windows Server 2019
Windows Server 2022
Windows 10/11 (Pro, Enterprise, IoT Enterprise)
NVIDIA GeForce, Quadro, RTX GPU-PV Windows 10/11 (Pro, Enterprise, IoT Enterprise)
Intel iGPU GPU-PV Windows 10/11 (Pro, Enterprise, IoT Enterprise)

Важно!

Поддержка GPU-PV может быть ограничена определенными поколениями процессоров или архитектур GPU, как определено поставщиком GPU. Дополнительные сведения см. в документации по драйверу iGPU Intel или CUDA NVIDIA для WSL.

Пользователи Windows Server 2019 должны использовать минимальную сборку 17763 со всеми текущими накопительными обновлениями.

Пользователи Windows 10 должны использовать сборку обновления 19044.1620 или более поздней версии. После установки можно проверить версию сборки, выполнив команду winver в командной строке.

Сквозное руководство GPU не поддерживается при вложенной виртуализации, например при запуске EFLOW на виртуальной машине Windows.

Настройка системы и установка

В следующих разделах содержатся сведения о настройке и установке в соответствии с GPU.

GPU NVIDIA T4/A2

Для GPU T4/A2 корпорация Майкрософт рекомендует установить драйвер устранения рисков устройств от поставщика GPU. Установка драйвера по устранению рисков (который является необязательным) может повысить уровень безопасности развертывания. Дополнительные сведения см. в разделе о развертывании графических устройств с помощью прямого назначения устройств.

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

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

GPU NVIDIA GeForce/Quadro/RTX

Для GPU с поддержкой NVIDIA GeForce/Quadro/RTX скачайте и установите драйвер с поддержкой NVIDIA CUDA для подсистема Windows для Linux (WSL) для использования с существующими рабочими процессами CUDA ML. Изначально разработанные для WSL, драйверы CUDA для WSL также используются для Azure IoT Edge для Linux в Windows.

Пользователи Windows 10 также должны установить WSL , так как некоторые библиотеки совместно используются между WSL и Azure IoT Edge для Linux в Windows.

Gpu Intel iGP

Для процессоров Intel iGP загрузите и установите драйвер графики Intel с поддержкой GPU WSL.

Пользователи Windows 10 также должны установить WSL , так как некоторые библиотеки совместно используются между WSL и Azure IoT Edge для Linux в Windows.

Включение ускорения GPU в развертывании Azure IoT Edge Linux в Windows

После завершения настройки системы вы можете создать развертывание Azure IoT Edge для Linux в Windows. Во время этого процесса необходимо включить GPU в рамках развертывания EFLOW.

Например, следующие команды создают виртуальную машину с поддержкой GPU с ГРАФИЧЕСКИм процессором NVIDIA A2 или Intel Iris Xe Graphics карта.

#Deploys EFLOW with NVIDIA A2 assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType DirectDeviceAssignment -gpuCount 1 -gpuName "NVIDIA A2"

#Deploys EFLOW with Intel(R) Iris(R) Xe Graphics assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType ParaVirtualization -gpuCount 1 -gpuName "Intel(R) Iris(R) Xe Graphics"

Чтобы найти имя GPU, можно выполнить следующую команду или найти адаптеры отображения в диспетчер устройств.

(Get-WmiObject win32_VideoController).caption

После завершения установки вы будете готовы к развертыванию и запуску модулей Linux с ускорением GPU с помощью Azure IoT Edge для Linux в Windows.

Настройка ускорения GPU в существующем развертывании Azure IoT Edge Linux в Windows

Назначение GPU во время развертывания приведет к более простому интерфейсу. Однако чтобы включить или отключить GPU после развертывания, используйте команду set-eflowvm. При использовании set-eflowvm параметр по умолчанию будет использоваться для любого аргумента, который не указан. Например,

#Deploys EFLOW without a GPU assigned to the EFLOW VM
Deploy-Eflow -cpuCount 4 -memoryInMB 16384

#Assigns NVIDIA A2 GPU to the existing deployment (cpu and memory must still be specified, otherwise they will be set to the default values)
Set-EflowVM -cpuCount 4 -memoryInMB 16384 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1

#Reduces the cpuCount and memory (GPU must still be specified, otherwise the GPU will be removed)
Set-EflowVM -cpuCount 2 -memoryInMB 4096 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1

#Removes NVIDIA A2 GPU from the existing deployment
Set-EflowVM -cpuCount 2 -memoryInMB 4096

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

Начало работы с примерами

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

Дополнительные сведения о наших партнерах

Несколько поставщиков GPU предоставили пользовательские руководства по получению большей части оборудования и программного обеспечения с помощью EFLOW.

Примечание.

В этом руководстве не рассматриваются графические процессоры на основе DDA, такие как NVIDIA T4 или A2.

Погружение в технологию

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