Implantar um módulo IoT habilitado para GPU no Hub Azure StackDeploy a GPU enabled IoT module on Azure Stack Hub

Com um hub de Azure Stack habilitado para GPU, você pode implantar módulos com uso intensivo de processador em dispositivos Linux em execução no IoT Edge.With a GPU-enabled Azure Stack Hub, you can deploy processor-intensive modules to Linux devices running at the IoT Edge. Os tamanhos de VM otimizadas para GPU são VMs especializadas disponíveis com uma ou várias GPUs NVIDIA.GPU optimized VM sizes are specialized VMs available with single or multiple NVIDIA GPUs. Neste artigo, aprenda a usar VMs otimizadas para GPU para executar cargas de trabalho com uso intensivo de computação, gráficos e de visualização.In this article, learn to use GPU optimized VMs to run compute-intensive, graphics-intensive, and visualization workloads.

Antes de começar, você precisará de uma assinatura Azure Active Directory (Azure AD) com acesso ao Azure global e ao Hub de Azure Stack, um ACR (registro de contêiner do Azure) e um hub IoT.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.

Neste artigo você:In this article, you:

  • Instale uma VM Linux habilitada para GPU e instale os drivers corretos.Install an GPU-enabled Linux VM and install the correct drivers.
  • Instale o Docker e habilite a GPU no tempo de execução.Install Docker and enable the GPU in the runtime.
  • Conecte seu dispositivo IoT ao Hub iOT e instale do Marketplace do iOT o modelo: Getting started with GPUs .Connect your IoT device to your iOT Hub and install from the iOT marketplace the model: Getting started with GPUs.
  • Instale e monitore seu dispositivo de um computador local usando o Azure IoT Explorer.Install and monitor your device from a local machine using Azure IoT explorer.
  • E, opcionalmente, instalar e monitorar seu dispositivo usando a extensão do Azure IoT no Visual Studio Code.And optionally, install and monitor your device using the Azure IoT extension in Visual Studio Code.

Pré-requisitosPrerequisites

Você precisará ter os seguintes recursos em vigor em sua instância de Hub de Azure Stack, no Azure global e em seu computador de desenvolvimento local.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 Hub e o AzureAzure Stack Hub and Azure

  • Uma assinatura como um usuário usando Azure Active Directory (Azure AD) em um sistema integrado de Azure Stack Hub com uma GPU NVIDA.A subscription as a user using Azure Active Directory (Azure AD) in an Azure Stack Hub Integrated System with an NVIDA GPU. Os seguintes chips funcionam com o Hub iOT:The following chips work with iOT Hub:

    • NCv3NCv3
    • NCas_v4NCas_v4

    Para saber mais sobre GPUs no Hub Azure Stack, confira VM GPU (unidade de processamento gráfico) no hub Azure Stack.For more information about GPUs on Azure Stack Hub, see Graphics processing unit (GPU) VM on Azure Stack Hub.

  • Uma assinatura global do Azure.A global Azure subscription. Se você não tiver uma assinatura global do Azure, crie uma conta gratuita antes de começar.If you don't have a global Azure subscription, create a free account before you begin.

  • Um ACR (registro de contêiner do Azure).An Azure Container Registry (ACR). Anote o servidor de entrada do ACR, o nome de usuário e a senha.Make a note of the ACR sign-in server, username, and password.

  • Um Hub IOT gratuito ou de camada Standard no Azure global.A free or standard-tier IoT hub in global Azure.

Um computador de desenvolvimentoA development machine

  • É possível usar seu próprio computador ou uma máquina virtual, dependendo de suas preferências de desenvolvimento.You can use your own computer or a virtual machine, depending on your development preferences. Seu computador de desenvolvimento precisará oferecer suporte à virtualização aninhada.Your development machine will need to support nested virtualization. Esse recurso é necessário para a execução do Docker, o mecanismo de contêiner usado neste artigo.This capability is necessary for running Docker, the container engine used in this article.

  • Seu computador de desenvolvimento precisará dos seguintes recursos:Your development machine will need the following resources:

Registrar um dispositivo IoT EdgeRegister an IoT Edge device

Use um dispositivo separado para hospedar seu dispositivo IoT Edge.Use a separate device to host your IoT Edge device. O uso de um dispositivo separado fornecerá uma separação entre o computador de desenvolvimento e o dispositivo de IoT Edge espelha com mais precisão um cenário de implantação.Using a separate device will provide a separation between your development machine and IoT Edge device more accurately mirrors a deployment scenario.

Criar um dispositivo IoT Edge no Azure com uma VM do Linux:Create an IoT Edge device in Azure with a Linux VM:

  1. Crie uma VM do servidor Linux da série N no Hub Azure Stack.Create an N-series Linux server VM on Azure Stack Hub. Ao instalar componentes para o servidor, você interagirá com o servidor via SSH.As you install components for your server, you'll interact with the server via SSH. Para obter mais informações, consulte usar uma chave pública SSH.For more information, see Use an SSH public key.

  2. Criar e registrar um dispositivo IoT EdgeCreate and register an IoT Edge Device

Preparar uma VM habilitada para GPUPrepare a GPU-enabled VM

  1. Instale os drivers de GPU do NVIDA em seu servidor Linux da série N seguindo as etapas descritas no artigo instalar drivers NVIDIA GPU em VMs da série n executando o 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.

    Observação

    Você usará a linha de comando do bash para instalar o software.You'll use the bash command line to install your software. Anote os comandos, pois você usará os mesmos comandos para instalar os drivers no contêiner em execução no Docker em sua VM habilitada para GPUMake 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. Instale o tempo de execução de IoT Edge mais recente em seu servidor Linux da série N no Hub Azure Stack.Install the latest IoT Edge runtime on your N-series Linux server in Azure Stack Hub. Para obter instruções, consulte instalar o Azure IOT Edge Runtime em sistemas Linux baseados em DebianFor instructions, see Install the Azure IoT Edge runtime on Debian-based Linux systems

Instalar o DockerInstall Docker

Instale o Docker em sua VM habilitada para GPU.Install Docker on your GPU-enabled VM. Você vai executar o módulo do IoT Edge Marketplace em um contêiner na VM.You're going to run the module from the IoT Edge marketplace in a container on the VM.

Você deve instalar o Docker 19, 2 ou superior.You must install Docker 19.02 or greater. O tempo de execução do Docker agora dá suporte às GPUs NVIDIA.The Docker runtime now supports the NVIDIA GPUs. Para saber mais sobre GPUs obre no Docker, confira o artigo nos documentos do Docker, Opções de tempo de execução com memória, CPUs e GPUs.To learn more bout GPUs in Docker, see the article in the Docker docs, Runtime options with Memory, CPUs, and GPUs.

Instalar o DockerInstall Docker

Contêineres do Docker podem executar em qualquer lugar, localmente no datacenter do cliente, em um provedor de serviços externo ou na nuvem, no Azure.Docker containers can run anywhere, on-premises in the customer datacenter, in an external service provider or in the cloud, on Azure. Os contêineres de imagem do Docker podem ser executados nativamente no Linux e no Windows.Docker image containers can run natively on Linux and Windows. No entanto, imagens do Windows podem executar somente em hosts do Windows e imagens do Linux podem executar em hosts do Linux e hosts do Windows (usando uma VM do Linux do Hyper-V, até o momento), em que o host significa um servidor ou uma VM.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. Para obter mais informações, consulte o que é o Docker?.For more information, see What is Docker?.

  1. Conecte-se ao seu servidor Linux da série N usando o cliente SSH.Connect to your N-series Linux server using your SSH client.

  2. Atualize o índice e as listas de apt.Update the apt index and lists.

    sudo apt-get update
    
  3. Busque as novas versões dos pacotes existentes no computador.Fetch the new versions of existing packages on the machine.

    sudo apt-get upgrade
    
  4. Instale as dependências necessárias para adicionar o repositório apt do Docker.Install dependencies required to add Docker's apt repository.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Adicione a chave GPG do Docker.Add Docker's GPG key.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Adicione o repositório apt do Docker.Add Docker's apt repo.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Atualize o índice e as listas de apt e instale a Community Edition do Docker.Update apt index and lists, and install Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Verifique a instalação verificando a versão do Docker.Verify install by checking the Docker version.

    docker -v
    
  9. Expor os recursos de GPU disponíveis no Docker.Expose the available GPU resources in Docker.

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

Obter o item do MarketplaceGet the item from the marketplace

Retorne ao portal do Azure e adicione o modelo ao seu dispositivo de borda usando o Marketplace do iOT.Return to the Azure portal and add the the model to your edge device using the iOT marketplace. Selecione o módulo Marketplace no menu.Select Marketplace Module from the menu. E pesquise e Getting started with GPUs siga as instruções para adicionar o módulo.And search for Getting started with GPUs, and follow the instructions to add the module.

Para obter instruções , consulte selecionar dispositivo e adicionar módulosFor instructions see Select device and add modules

Habilitar o monitoramentoEnable monitoring

  1. Baixe o Azure IOT Explorere conecte o aplicativo ao Hub IOT.Download Azure IoT explorer, and connect the application to your IoT Hub.

  2. Selecione seu dispositivo IoT e navegue até telemetria no menu de navegação.Select your IoT Device and navigate to Telemetry from the navigation menu.

  3. Selecione Iniciar para começar a monitorar a saída do dispositivo IOT Edge.Select Start to begin monitoring output from the IoT Edge Device.

uma instalação válida

Monitorar o módulo (opcional)Monitor the module (Optional)

  1. Na paleta de comandos do VS Code, execute Hub IoT do Azure: selecionar Hub IoT.In the VS Code command palette, run Azure IoT Hub: Select IoT Hub.

  2. Escolha a assinatura e o hub IoT que contêm o dispositivo do IoT Edge que você deseja configurar.Choose the subscription and IoT hub that contain the IoT Edge device that you want to configure. Nesse caso, selecione a assinatura usada para implantar o dispositivo de borda Azure Stack e selecione o dispositivo IoT Edge criado para seu dispositivo Azure Stack Edge.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. Isso ocorre quando você configura a computação por meio do portal do Azure nas etapas anteriores.This occurs when you configure compute via the Azure portal in the earlier steps.

  3. No VS Code Explorer, expanda a seção Hub IoT do Azure.In the VS Code explorer, expand the Azure IoT Hub section. Em dispositivos , você deve ver o dispositivo IOT Edge correspondente ao dispositivo Azure Stack Edge.Under Devices , you should see the IoT Edge device corresponding to your Azure Stack Edge device.

    1. Selecione esse dispositivo, clique com o botão direito do mouse e selecione Iniciar Monitoramento de ponto de extremidade de evento interno.Select that device, right-click, and select Start Monitoring Built-in Event Endpoint.

    2. Vá para dispositivos > módulos e você deverá ver o módulo de GPU em execução.Go to Devices > Modules and you should see your GPU module running.

    3. O terminal de VS Code também deve mostrar os eventos do Hub IoT como a saída de monitoramento para o dispositivo Azure Stack Edge.The VS Code terminal should also show the IoT Hub events as the monitoring output for your Azure Stack Edge device.

    uma instalação válida é

    Você pode ver que o tempo necessário para executar o mesmo conjunto de operações (5000 iterações de transformação de forma) pela GPU é muito menor do que para a CPU.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.

Próximas etapasNext Steps