Implementar um módulo IoT ativado pela GPU no Azure Stack HubDeploy a GPU enabled IoT module on Azure Stack Hub

Com um Hub Azure Stack ativado pela GPU, pode implementar módulos intensivos de processadores para 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 otimizados da GPU são VMs especializados disponíveis com GPUs únicos ou múltiplos da NVIDIA.GPU optimized VM sizes are specialized VMs available with single or multiple NVIDIA GPUs. Neste artigo, aprenda a usar VMs otimizados de GPU para executar cargas de trabalho de visualização e visualização intensivas de computação intensivas, gráficas intensivas e visualizações.In this article, learn to use GPU optimized VMs to run compute-intensive, graphics-intensive, and visualization workloads.

Antes de começar, vai precisar de uma assinatura do Azure Ative Directory (Azure AD) com acesso ao Global Azure e ao Azure Stack Hub, um Registo de Contentores Azure (ACR) 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, irá:In this article, you:

  • Instale um Linux VM ativado pela GPU e instale os controladores corretos.Install an GPU-enabled Linux VM and install the correct drivers.
  • Instale o Docker e ative a GPU no tempo de funcionação.Install Docker and enable the GPU in the runtime.
  • Ligue o seu dispositivo IoT ao seu iOT Hub e instale no mercado 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 monitorize o seu dispositivo a partir de uma máquina local utilizando o explorador Azure IoT.Install and monitor your device from a local machine using Azure IoT explorer.
  • E opcionalmente, instale e monitorize o seu dispositivo utilizando a extensão Azure IoT no Código do Estúdio Visual.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 no seu exemplo Azure Stack Hub, global Azure, e na sua máquina 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 AzureAzure Stack Hub and Azure

  • Uma subscrição como utilizador utilizando o Azure Ative Directory (Azure AD) num Sistema Integrado Azure Stack Hub com um GPU NVIDA.A subscription as a user using Azure Active Directory (Azure AD) in an Azure Stack Hub Integrated System with an NVIDA GPU. As seguintes fichas funcionam com o iOT Hub:The following chips work with iOT Hub:

    • NCv3NCv3
    • NCas_v4NCas_v4

    Para obter mais informações sobre GPUs no Azure Stack Hub, consulte a unidade de processamento de gráficos (GPU) VM no Azure Stack Hub.For more information about GPUs on Azure Stack Hub, see Graphics processing unit (GPU) VM on Azure Stack Hub.

  • Uma assinatura global da Azure.A global Azure subscription. Se não tiver uma subscrição 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.

  • Registo de Contentores Azure (ACR).An Azure Container Registry (ACR). Tome nota do servidor de entrada de ACR, nome de utilizador e senha.Make a note of the ACR sign-in server, username, and password.

  • Um hub IoT de nível livre ou standard em Azure global.A free or standard-tier IoT hub in global Azure.

Uma máquina de desenvolvimentoA development machine

  • Pode utilizar o seu próprio computador ou uma máquina virtual, dependendo das suas preferências de desenvolvimento.You can use your own computer or a virtual machine, depending on your development preferences. A sua máquina de desenvolvimento terá de suportar a virtualização aninhada.Your development machine will need to support nested virtualization. Esta capacidade é necessária para executar o Docker, o motor de contentores utilizado neste artigo.This capability is necessary for running Docker, the container engine used in this article.

  • A sua máquina de desenvolvimento necessitará dos seguintes recursos:Your development machine will need the following resources:

Registar um dispositivo do IoT EdgeRegister an IoT Edge device

Utilize um dispositivo separado para hospedar o seu dispositivo IoT Edge.Use a separate device to host your IoT Edge device. A utilização de um dispositivo separado proporcionará uma separação entre a sua máquina de desenvolvimento e o dispositivo IoT Edge reflete 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.

Crie um dispositivo IoT Edge em Azure com um Linux VM:Create an IoT Edge device in Azure with a Linux VM:

  1. Crie um VM de servidor Linux da série N no Azure Stack Hub.Create an N-series Linux server VM on Azure Stack Hub. À medida que instala componentes para o seu servidor, irá 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 uma chave pública SSH.For more information, see Use an SSH public key.

  2. Criar e registar um dispositivo de borda IoTCreate and register an IoT Edge Device

Preparar um VM ativado pela GPUPrepare a GPU-enabled VM

  1. Instale os Controladores NVIDA GPU no seu servidor Linux da série N seguindo os passos do artigo, Instale os controladores GPU da NVIDIA em VMs da série N que executam 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.

    Nota

    Usará a linha de comando bash para instalar o seu software.You'll use the bash command line to install your software. Tome nota dos comandos já que utilizará os mesmos comandos para instalar os controladores no contentor que funciona em Docker no seu VM ativado pela 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 IoT Edge mais recente no seu servidor Linux da série N no Azure Stack Hub.Install the latest IoT Edge runtime on your N-series Linux server in Azure Stack Hub. Para obter instruções, consulte instalar o tempo de funcionamento do Azure IoT Edge nos 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 no seu VM ativado pela GPU.Install Docker on your GPU-enabled VM. Vais executar o módulo do mercado IoT Edge num contentor no VM.You're going to run the module from the IoT Edge marketplace in a container on the VM.

Tem de instalar o Docker 19.02 ou superior.You must install Docker 19.02 or greater. O tempo de funcionação do Docker agora suporta os GPUs da NVIDIA.The Docker runtime now supports the NVIDIA GPUs. Para saber mais gpus em Docker, consulte o artigo nos docs 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

Os contentores docker podem funcionar em qualquer lugar, no local do datacenter do cliente, num prestador 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 recipientes de imagem do Docker podem funcionar de forma nativa em Linux e Windows.Docker image containers can run natively on Linux and Windows. No entanto, as imagens do Windows só podem ser executadas em anfitriões Windows e as imagens Linux podem ser executadas em anfitriões Linux e anfitriões Windows (utilizando um Hiper-V Linux VM, até agora), onde o hospedeiro significa um servidor ou um 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 mais informações, vê o que é Docker?For more information, see What is Docker?.

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

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

    sudo apt-get update
    
  3. Pegue as novas versões dos pacotes existentes na máquina.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 apto 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 repo apto 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. Atualizar índice e listas apt, e instalar Docker Community Edition.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 Docker.Verify install by checking the Docker version.

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

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

Obtenha o item do mercadoGet the item from the marketplace

Volte ao portal Azure e adicione o modelo ao seu dispositivo de borda utilizando o mercado iOT.Return to the Azure portal and add the the model to your edge device using the iOT marketplace. Selecione o Módulo de Mercado do menu.Select Marketplace Module from the menu. E Getting started with GPUs procure, e 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 o dispositivo e adicionar módulosFor instructions see Select device and add modules

Ativar monitorizaçãoEnable monitoring

  1. Faça o download do explorador Azure IoTe ligue a aplicação ao seu IoT Hub.Download Azure IoT explorer, and connect the application to your IoT Hub.

  2. Selecione o seu Dispositivo IoT e navegue para telemetria a partir do menu de navegação.Select your IoT Device and navigate to Telemetry from the navigation menu.

  3. Selecione Comece a monitorizar a saída a partir do dispositivo IoT Edge.Select Start to begin monitoring output from the IoT Edge Device.

uma instalação válida

Monitorize o módulo (Opcional)Monitor the module (Optional)

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

  2. Escolha a subscrição e o hub IoT que contém o dispositivo do IoT Edge que pretende configurar.Choose the subscription and IoT hub that contain the IoT Edge device that you want to configure. Neste caso, selecione a subscrição utilizada para implementar o dispositivo Azure Stack Edge e selecione o dispositivo IoT Edge criado para o 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. Isto ocorre quando configura o cálculo através do portal Azure nos passos anteriores.This occurs when you configure compute via the Azure portal in the earlier steps.

  3. No explorador de código VS, expanda a secção Azure IoT Hub.In the VS Code explorer, expand the Azure IoT Hub section. Em Dispositivos , deve ver o dispositivo IoT Edge correspondente ao seu dispositivo Azure Stack Edge.Under Devices , you should see the IoT Edge device corresponding to your Azure Stack Edge device.

    1. Selecione este dispositivo, clique à direita e selecione Start Monitoring Built-in Event Endpoint.Select that device, right-click, and select Start Monitoring Built-in Event Endpoint.

    2. Vá a Dispositivos > Módulos e deverá ver o seu módulo GPU a funcionar.Go to Devices > Modules and you should see your GPU module running.

    3. O terminal vs Code também deve mostrar os eventos IoT Hub como a saída de monitorização do seu 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 é

    Pode ver que o tempo necessário para executar o mesmo conjunto de operações (5000 iterações de transformação de forma) por 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.

Passos SeguintesNext Steps