Развертывание модуля IoT с поддержкой GPU в центре Azure StackDeploy a GPU enabled IoT module on Azure Stack Hub

С помощью концентратора Azure Stack, поддерживающего GPU, можно развертывать процессорные модули на устройствах Linux, работающих на IoT Edge.With a GPU-enabled Azure Stack Hub, you can deploy processor-intensive modules to Linux devices running at the IoT Edge. Размеры виртуальных машин, оптимизированных для GPU, являются специализированными виртуальными машинами, доступными с одним или несколькими GPU NVIDIA.GPU optimized VM sizes are specialized VMs available with single or multiple NVIDIA GPUs. Из этой статьи вы узнаете, как использовать виртуальные машины, оптимизированные с помощью GPU, для выполнения рабочих нагрузок с большим объемом вычислений, графиков и визуализаций.In this article, learn to use GPU optimized VMs to run compute-intensive, graphics-intensive, and visualization workloads.

Перед началом работы вам потребуется подписка Azure Active Directory (Azure AD) с доступом к глобальному центру Azure и Azure Stack, реестр контейнеров Azure (запись контроля доступа) и центр Интернета вещей.Before you start, you will need an Azure Active Directory (Azure AD) subscription with access to global Azure and Azure Stack Hub, an Azure Container Registry (ACR), and an IoT hub.

Работая с этой статьей, вы выполните следующие задачи:In this article, you:

  • Установите виртуальную машину Linux с поддержкой GPU и установите правильные драйверы.Install an GPU-enabled Linux VM and install the correct drivers.
  • Установите DOCKER и включите GPU в среде выполнения.Install Docker and enable the GPU in the runtime.
  • Подключите устройство IoT к центру Интернета вещей и установите его из каталога iOT Marketplace модель: Getting started with GPUs .Connect your IoT device to your iOT Hub and install from the iOT marketplace the model: Getting started with GPUs.
  • Установка и мониторинг устройства на локальном компьютере с помощью Azure IoT Explorer.Install and monitor your device from a local machine using Azure IoT explorer.
  • Кроме того, можно установить и отслеживать устройство с помощью расширения Интернета вещей Azure в Visual Studio Code.And optionally, install and monitor your device using the Azure IoT extension in Visual Studio Code.

Предварительные требованияPrerequisites

Вам потребуется использовать следующие ресурсы в экземпляре центра Azure Stack, глобальном Azure и на локальном компьютере разработки.You'll need to have the following resources in place in your Azure Stack Hub instance, global Azure, and on your local development machine.

Центр Azure Stack и AzureAzure Stack Hub and Azure

Компьютер для разработкиA development machine

  • При разработке можно использовать собственный компьютер или виртуальную машину в зависимости от ваших предпочтений.You can use your own computer or a virtual machine, depending on your development preferences. Компьютер разработки должен поддерживать вложенную виртуализацию.Your development machine will need to support nested virtualization. Эта возможность необходима для запуска DOCKER, подсистемы контейнеров, используемой в этой статье.This capability is necessary for running Docker, the container engine used in this article.

  • Компьютерам разработки понадобятся следующие ресурсы:Your development machine will need the following resources:

Регистрация устройства IoT EdgeRegister an IoT Edge device

Используйте отдельное устройство для размещения устройства IoT Edge.Use a separate device to host your IoT Edge device. Использование отдельного устройства обеспечит разделение между компьютером разработки, а IoT Edge устройство более точно отражает сценарий развертывания.Using a separate device will provide a separation between your development machine and IoT Edge device more accurately mirrors a deployment scenario.

Создание IoT Edge устройства в Azure с помощью виртуальной машины Linux:Create an IoT Edge device in Azure with a Linux VM:

  1. Создайте виртуальную машину Linux Server серии N в центре Azure Stack.Create an N-series Linux server VM on Azure Stack Hub. При установке компонентов сервера вы будете взаимодействовать с сервером через SSH.As you install components for your server, you'll interact with the server via SSH. Дополнительные сведения см. в разделе Использование открытого ключа SSH.For more information, see Use an SSH public key.

  2. Создание и регистрация устройства IoT EdgeCreate and register an IoT Edge Device

Подготовка виртуальной машины с поддержкой GPUPrepare a GPU-enabled VM

  1. Установите драйверы GPU НВИДА на сервере Linux серии N, выполнив действия, описанные в статье Установка драйверов NVIDIA GPU на виртуальных машинах серии n под управлением Linux.Install the NVIDA GPU Drivers on your N-series Linux server by following the steps in the article, Install NVIDIA GPU drivers on N-series VMs running Linux.

    Примечание

    Для установки программного обеспечения используется Командная строка bash.You'll use the bash command line to install your software. Запишите эти команды, так как вы будете использовать те же команды для установки драйверов в контейнере, работающем в DOCKER, на виртуальной машине с поддержкой GPU.Make a note of the commands since you'll use the same commands to install the drivers on the container running in Docker on your GPU-enabled VM

  2. Установите последнюю версию среды выполнения IoT Edge на сервере Linux серии N в центре Azure Stack.Install the latest IoT Edge runtime on your N-series Linux server in Azure Stack Hub. Инструкции см. в статье Установка среды выполнения Azure IOT EDGE в системах Linux на базе Debian .For instructions, see Install the Azure IoT Edge runtime on Debian-based Linux systems

Установка DockerInstall Docker

Установите DOCKER на виртуальной машине с поддержкой GPU.Install Docker on your GPU-enabled VM. Вы будете запускать модуль из IoT Edge Marketplace в контейнере на виртуальной машине.You're going to run the module from the IoT Edge marketplace in a container on the VM.

Необходимо установить DOCKER 19,02 или более поздней версии.You must install Docker 19.02 or greater. Среда выполнения DOCKER теперь поддерживает GPU NVIDIA.The Docker runtime now supports the NVIDIA GPUs. Дополнительные сведения о грамме GPU в DOCKER см. в статье о документах DOCKER, а также в разделе варианты среды выполнения с памятью, ЦП и GPU.To learn more bout GPUs in Docker, see the article in the Docker docs, Runtime options with Memory, CPUs, and GPUs.

Установка DockerInstall Docker

Контейнеры Docker могут работать в любой среде, например в локальном центре обработки данных, в службе стороннего поставщика или в облаке Azure.Docker containers can run anywhere, on-premises in the customer datacenter, in an external service provider or in the cloud, on Azure. Контейнеры образов Docker работают в исходном формате в Linux и Windows.Docker image containers can run natively on Linux and Windows. Но образы Windows будут выполняться только на узлах Windows, тогда как образы Linux — на узлах Linux или Windows (на данный момент с помощью виртуальной машины Linux Hyper-V). Термин "узлы" здесь означает физические серверы и виртуальные машины.However, Windows images can run only on Windows hosts and Linux images can run on Linux hosts and Windows hosts (using a Hyper-V Linux VM, so far), where host means a server or a VM. Дополнительные сведения см. в разделе что такое DOCKER?.For more information, see What is Docker?.

  1. Подключитесь к серверу Linux серии N с помощью клиента SSH.Connect to your N-series Linux server using your SSH client.

  2. Обновите индекс и списки APT.Update the apt index and lists.

    sudo apt-get update
    
  3. Получение новых версий существующих пакетов на компьютере.Fetch the new versions of existing packages on the machine.

    sudo apt-get upgrade
    
  4. Установите зависимости, необходимые для добавления репозитория APT DOCKER.Install dependencies required to add Docker's apt repository.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Добавьте ключ GPG DOCKER.Add Docker's GPG key.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Добавьте репозиторий APT DOCKER.Add Docker's apt repo.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Обновление индекса и списков APT и установка DOCKER Community Edition.Update apt index and lists, and install Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Проверьте установку, проверив версию DOCKER.Verify install by checking the Docker version.

    docker -v
    
  9. Предоставьте доступ к доступным ресурсам GPU в DOCKER.Expose the available GPU resources in Docker.

    docker run -it --rm --gpus all ubuntu nvidia-smi
    

Получение элемента из MarketplaceGet the item from the marketplace

Вернитесь к портал Azure и добавьте модель на пограничном устройстве с помощью iOT Marketplace.Return to the Azure portal and add the the model to your edge device using the iOT marketplace. В меню выберите модуль Marketplace .Select Marketplace Module from the menu. И выполните поиск и Getting started with GPUs следуйте инструкциям по добавлению модуля.And search for Getting started with GPUs, and follow the instructions to add the module.

Инструкции см. в разделе Выбор устройства и добавление модулей .For instructions see Select device and add modules

Включение мониторингаEnable monitoring

  1. Скачайте Azure IOT Explorerи подключите приложение к центру Интернета вещей.Download Azure IoT explorer, and connect the application to your IoT Hub.

  2. Выберите устройство IoT и перейдите к элементу телеметрии в меню навигации.Select your IoT Device and navigate to Telemetry from the navigation menu.

  3. Нажмите кнопку начать , чтобы начать наблюдение за выходными данными с устройства IOT Edge.Select Start to begin monitoring output from the IoT Edge Device.

допустимая установка

Мониторинг модуля (необязательно)Monitor the module (Optional)

  1. В палитре команд VS Code выберите команду Azure IoT Hub: Select IoT Hub (Центр Интернета вещей Azure: выбрать Центр Интернета вещей).In the VS Code command palette, run Azure IoT Hub: Select IoT Hub.

  2. Выберите подписку и Центр Интернета вещей, содержащий устройство IoT Edge, которое нужно настроить.Choose the subscription and IoT hub that contain the IoT Edge device that you want to configure. В этом случае выберите подписку, используемую для развертывания Azure Stack пограничной устройства, и выберите устройство IoT Edge, созданное для устройства Azure Stack погранично.In this case, select the subscription used to deploy the Azure Stack Edge device, and select the IoT Edge device created for your Azure Stack Edge device. Это происходит при настройке вычислений с помощью портал Azure на предыдущих шагах.This occurs when you configure compute via the Azure portal in the earlier steps.

  3. В обозревателе VS Code разверните раздел центр Интернета вещей Azure.In the VS Code explorer, expand the Azure IoT Hub section. В разделе устройства вы увидите устройство IOT EDGE, соответствующее устройству Azure Stackного периметра.Under Devices, you should see the IoT Edge device corresponding to your Azure Stack Edge device.

    1. Выберите это устройство, щелкните его правой кнопкой мыши и выберите команду начать мониторинг встроенной конечной точки события.Select that device, right-click, and select Start Monitoring Built-in Event Endpoint.

    2. Перейдите в раздел устройства > модули , и вы должны увидеть, что модуль GPU работает.Go to Devices > Modules and you should see your GPU module running.

    3. В VS Code терминале также должны отображаться события центра Интернета вещей в качестве выходных данных мониторинга для устройства Azure Stackного периметра.The VS Code terminal should also show the IoT Hub events as the monitoring output for your Azure Stack Edge device.

    допустимая установка

    Вы видите, что время, затраченное на выполнение одного и того же набора операций (5000 итераций преобразования фигур) по GPU, гораздо меньше, чем для ЦП.You can see that the time taken to execute the same set of operations (5000 iterations of shape transformation) by GPU is lot lesser than it is for CPU.

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