Развертывание модуля 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
Подписка как пользователь, использующий Azure Active Directory (Azure AD) в интегрированной системе Azure Stackного центра с графическим процессором НВИДА.A subscription as a user using Azure Active Directory (Azure AD) in an Azure Stack Hub Integrated System with an NVIDA GPU. Следующие микросхемы работают с центром Интернета вещей:The following chips work with iOT Hub:
- NCv3NCv3
- NCas_v4NCas_v4
Дополнительные сведения о графических процессорах в центре Azure Stack см. в разделе графическая вычислительная машина (GPU) в центре Azure Stack.For more information about GPUs on Azure Stack Hub, see Graphics processing unit (GPU) VM on Azure Stack Hub.
Глобальная подписка Azure.A global Azure subscription. Если у вас нет глобальной подписки Azure, создайте бесплатную учетную запись , прежде чем начинать работу.If you don't have a global Azure subscription, create a free account before you begin.
Реестр контейнеров Azure (запись контроля доступа).An Azure Container Registry (ACR). Запишите сервер входа в систему, имя пользователя и пароль.Make a note of the ACR sign-in server, username, and password.
Центр Интернета вещей уровня "бесплатный" или "Стандартный" в глобальной службе Azure.A free or standard-tier IoT hub in global 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:
- Python 3.xPython 3.x
- Pip для установки пакетов Python.Pip for installing Python packages. Это устанавливается вместе с установкой Python.This is been installed with your Python installation. Если установлена PIP, может потребоваться обновление до последней версии.If you have Pip installed, you may want to upgrade to the latest version. Вы можете обновить с помощью PIP.You can upgrade using pip, itself. Введите
pip install --upgrade pip
.Type:pip install --upgrade pip
. - Azure CLI 2.0Azure CLI 2.0
- Git;Git
- DockerDocker
- Visual Studio CodeVisual Studio Code
- Средства Azure IoT для Visual Studio Code.Azure IoT Tools for Visual Studio Code
- Пакет расширений Python для Visual Studio CodePython Extension Pack for Visual Studio Code
Регистрация устройства 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:
Создайте виртуальную машину 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.
Создание и регистрация устройства IoT EdgeCreate and register an IoT Edge Device
Подготовка виртуальной машины с поддержкой GPUPrepare a GPU-enabled VM
Установите драйверы 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
Установите последнюю версию среды выполнения 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?.
Подключитесь к серверу Linux серии N с помощью клиента SSH.Connect to your N-series Linux server using your SSH client.
Обновите индекс и списки APT.Update the apt index and lists.
sudo apt-get update
Получение новых версий существующих пакетов на компьютере.Fetch the new versions of existing packages on the machine.
sudo apt-get upgrade
Установите зависимости, необходимые для добавления репозитория APT DOCKER.Install dependencies required to add Docker's apt repository.
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
Добавьте ключ GPG DOCKER.Add Docker's GPG key.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Добавьте репозиторий APT DOCKER.Add Docker's apt repo.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Обновление индекса и списков APT и установка DOCKER Community Edition.Update apt index and lists, and install Docker Community Edition.
sudo apt-get update sudo apt-get install docker-ce
Проверьте установку, проверив версию DOCKER.Verify install by checking the Docker version.
docker -v
Предоставьте доступ к доступным ресурсам 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
Скачайте Azure IOT Explorerи подключите приложение к центру Интернета вещей.Download Azure IoT explorer, and connect the application to your IoT Hub.
Выберите устройство IoT и перейдите к элементу телеметрии в меню навигации.Select your IoT Device and navigate to Telemetry from the navigation menu.
Нажмите кнопку начать , чтобы начать наблюдение за выходными данными с устройства IOT Edge.Select Start to begin monitoring output from the IoT Edge Device.
Мониторинг модуля (необязательно)Monitor the module (Optional)
В палитре команд VS Code выберите команду Azure IoT Hub: Select IoT Hub (Центр Интернета вещей Azure: выбрать Центр Интернета вещей).In the VS Code command palette, run Azure IoT Hub: Select IoT Hub.
Выберите подписку и Центр Интернета вещей, содержащий устройство 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.
В обозревателе 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.
Выберите это устройство, щелкните его правой кнопкой мыши и выберите команду начать мониторинг встроенной конечной точки события.Select that device, right-click, and select Start Monitoring Built-in Event Endpoint.
Перейдите в раздел устройства > модули , и вы должны увидеть, что модуль GPU работает.Go to Devices > Modules and you should see your GPU module running.
В 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
Дополнительные сведения о виртуальной машине графического процессора (GPU) в центре Azure StackLearn more about Graphics processing unit (GPU) virtual machine (VM) on Azure Stack Hub
Узнайте больше о центре Azure Stack, Data Box Edge и интеллектуальном пограничных выпусках, будущее вычислений: интеллектуальное облако и интеллектуальные граничные технологии.Learn more about Azure Stack Hub, Data Box Edge and the Intelligent Edge, The future of computing: intelligent cloud and intelligent edge
Дополнительные сведения о гибридных облачных приложениях см. в статье гибридные облачные решения .Learn more about hybrid cloud applications, see Hybrid Cloud Solutions