Развертывание модуля Интернета вещей с поддержкой GPU в Azure Stack Hub
Azure Stack Hub с поддержкой GPU позволяет развертывать модули с интенсивным использованием процессоров на устройствах Linux, работающих на IoT Edge. Размеры виртуальных машин, оптимизированных для GPU, — это специализированные виртуальные машины, доступные с одним или несколькими GPU NVIDIA. Из этой статьи вы узнаете, как использовать оптимизированные для GPU виртуальные машины для выполнения рабочих нагрузок с интенсивным использованием вычислительных ресурсов, графики и визуализации.
Прежде чем начать, вам потребуется подписка Microsoft Entra с доступом к глобальной среде Azure и Azure Stack Hub, Реестр контейнеров Azure (ACR) и Центру Интернета вещей.
Работая с этой статьей, вы выполните следующие задачи:
- Установите виртуальную машину Linux с поддержкой GPU и установите правильные драйверы.
- Установите Docker и включите GPU в среде выполнения.
- Подключите устройство Интернета вещей к Центру iOT и установите из iOT Marketplace модель :
Getting started with GPUs
. - Установка и мониторинг устройства с локального компьютера с помощью обозревателя Интернета вещей Azure.
- При необходимости установите и отслеживайте устройство с помощью расширения Интернета вещей Azure в Visual Studio Code.
Предварительные требования
Вам потребуются следующие ресурсы в экземпляре Azure Stack Hub, глобальном Azure и на локальном компьютере разработки.
Azure Stack Hub и Azure
Подписка в качестве пользователя, использующий идентификатор Microsoft Entra в интегрированной системе Azure Stack Hub с графическим процессором NVIDA. С Центром iOT работают следующие микросхемы:
- NCv3
- NCas_v4
Дополнительные сведения о GPU в Azure Stack Hub см. в статье Виртуальная машина графического процессора (GPU) в Azure Stack Hub.
Глобальная подписка Azure. Если у вас нет глобальной подписки Azure, создайте бесплатную учетную запись , прежде чем начинать работу.
Реестр контейнеров Azure (ACR). Запишите сервер входа ACR, имя пользователя и пароль.
Центр Интернета вещей уровня "Бесплатный" или "Стандартный" в глобальной среде Azure.
Компьютер разработки
При разработке можно использовать собственный компьютер или виртуальную машину в зависимости от ваших предпочтений. Компьютер разработки должен поддерживать вложенную виртуализацию. Эта возможность необходима для запуска Docker, обработчика контейнеров, используемого в этой статье.
Вашему компьютеру разработки потребуются следующие ресурсы:
- Python 3.x
-
Pip для установки пакетов Python. Он устанавливается вместе с установкой Python. Если у вас установлен Pip, возможно, потребуется выполнить обновление до последней версии. Вы можете выполнить обновление с помощью pip. Введите
pip install --upgrade pip
. - Azure CLI 2.0
- Git;
- Docker
- Visual Studio Code
- Средства Azure IoT для Visual Studio Code.
- Пакет расширений Python для Visual Studio Code
Регистрация устройства IoT Edge
Используйте отдельное устройство для размещения устройства IoT Edge. Использование отдельного устройства обеспечит разделение между компьютером разработки и IoT Edge устройство более точно отражает сценарий развертывания.
Создайте устройство IoT Edge в Azure с помощью виртуальной машины Linux:
Создайте виртуальную машину сервера Linux серии N в Azure Stack Hub. При установке компонентов для сервера вы будете взаимодействовать с сервером по протоколу SSH. Дополнительные сведения см. в статье Использование пары ключей SSH в Azure Stack Hub.
Подготовка виртуальной машины с поддержкой GPU
Установите драйверы GPU NVIDA на сервере Linux серии N, выполнив действия, описанные в статье Установка драйверов GPU NVIDIA на виртуальных машинах серии N под управлением Linux.
Примечание
Для установки программного обеспечения вы будете использовать командную строку bash. Запишите команды, так как вы будете использовать те же команды для установки драйверов в контейнере, запущенном в Docker на виртуальной машине с поддержкой GPU.
Установите последнюю версию среды выполнения IoT Edge на сервере Linux серии N в Azure Stack Hub. Инструкции см. в статье Установка среды выполнения azure IoT Edge в системах Linux на основе Debian.
Установка Docker
Установите Docker на виртуальной машине с поддержкой GPU. Вы собираетесь запустить модуль из IoT Edge Marketplace в контейнере на виртуальной машине.
Необходимо установить Docker 19.02 или более поздней версии. Теперь среда выполнения Docker поддерживает GPU NVIDIA. Дополнительные сведения о дополнительных gpuout в Docker см. в статье Документации по Docker параметры среды выполнения с памятью, ЦП и GPU.
Установка Docker
Контейнеры Docker могут работать в любой среде, например в локальном центре обработки данных, в службе стороннего поставщика или в облаке Azure. Контейнеры образов Docker работают в исходном формате в Linux и Windows. Но образы Windows будут выполняться только на узлах Windows, тогда как образы Linux — на узлах Linux или Windows (на данный момент с помощью виртуальной машины Linux Hyper-V). Термин "узлы" здесь означает физические серверы и виртуальные машины. Дополнительные сведения см. в статье Что такое Docker?.
Подключитесь к серверу Linux серии N с помощью клиента SSH.
Обновите индекс и списки apt.
sudo apt-get update
Получение новых версий существующих пакетов на компьютере.
sudo apt-get upgrade
Установите зависимости, необходимые для добавления репозитория Docker apt.
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
Добавьте ключ GPG Docker.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Добавьте репозиторий Docker apt.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Обновите индекс и списки apt, а также установите Docker Community Edition.
sudo apt-get update sudo apt-get install docker-ce
Проверьте установку, проверив версию Docker.
docker -v
Предоставление доступных ресурсов GPU в Docker.
docker run -it --rm --gpus all ubuntu nvidia-smi
Получение элемента из Marketplace
Вернитесь к портал Azure и добавьте модель на пограничное устройство с помощью iOT Marketplace. В меню выберите Модуль Marketplace . Выполните поиск Getting started with GPUs
и следуйте инструкциям по добавлению модуля.
Инструкции см. в разделе Выбор устройства и добавление модулей.
Включение мониторинга
Скачайте обозреватель Интернета вещей Azure и подключите приложение к Центр Интернета вещей.
Выберите свое устройство Интернета вещей и в меню навигации перейдите к разделу Телеметрия.
Нажмите кнопку Пуск, чтобы начать мониторинг выходных данных с устройства IoT Edge.
Мониторинг модуля (необязательно)
В палитре команд VS Code выберите команду Azure IoT Hub: Select IoT Hub (Центр Интернета вещей Azure: выбрать Центр Интернета вещей).
Выберите подписку и Центр Интернета вещей, содержащий устройство IoT Edge, которое нужно настроить. В этом случае выберите подписку в экземпляре Azure Stack Hub и IoT Edge устройство, созданное для Azure Stack Hub. Это устройство было создано при настройке вычислений на портале Azure на предыдущих этапах.
В обозревателе VS Code разверните раздел "Центр Интернета вещей Azure". В разделе Устройства вы увидите IoT Edge устройство, соответствующее Azure Stack Hub.
Выберите это устройство, щелкните правой кнопкой мыши и выберите Начать мониторинг встроенной конечной точки событий.
Перейдите в раздел Устройства > Модули , и вы увидите, что модуль GPU запущен.
В терминале VS Code также должны отображаться события Центр Интернета вещей в качестве выходных данных мониторинга для Azure Stack Hub.
Вы увидите, что GPU тратит на выполнение одного и того же набора операций (5000 итераций преобразования формы) намного меньше времени, чем ЦП.
Next Steps
Дополнительные сведения о виртуальной машине графического процессора (GPU) в Azure Stack Hub
Дополнительные сведения об Azure Stack Hub, Data Box Edge и Intelligent Edge, будущее вычислений: интеллектуальное облако и интеллектуальный пограничный сервер
Дополнительные сведения о гибридных облачных приложениях см. в статье Гибридные облачные решения.