Partilhar via


Implantar um módulo IoT habilitado para GPU no Azure Stack Hub

Com um Azure Stack Hub habilitado para GPU, você pode implantar módulos com uso intensivo de processador em dispositivos Linux executados no IoT Edge. Os tamanhos de VM otimizados para GPU são VMs especializadas disponíveis com uma ou várias GPUs NVIDIA. Neste artigo, aprenda a usar VMs otimizadas para GPU para executar cargas de trabalho de computação intensiva, gráficos e visualização.

Antes de começar, você precisará de uma assinatura do Microsoft Entra com acesso ao Azure global e ao Azure Stack Hub, um ACR (Azure Container Registry) e um hub IoT.

Neste artigo, você:

  • Instale uma VM Linux habilitada para GPU e instale os drivers corretos.
  • Instale o Docker e habilite a GPU no tempo de execução.
  • Ligue o seu dispositivo IoT ao seu iOT Hub e instale a partir do mercado iOT o modelo: Getting started with GPUs.
  • Instale e monitorize o seu dispositivo a partir de uma máquina local utilizando o explorador do Azure IoT.
  • E, opcionalmente, instale e monitore seu dispositivo usando a extensão do Azure IoT no Visual Studio Code.

Pré-requisitos

Você precisará ter os seguintes recursos em vigor em sua instância do Azure Stack Hub, Azure global e em sua máquina de desenvolvimento local.

Azure Stack Hub e Azure

  • Uma subscrição de um utilizador utilizando o ID do Microsoft Entra num sistema integrado Azure Stack Hub com uma GPU NVIDIA. Os seguintes chips funcionam com o iOT Hub:

    • NCv3
    • NCas_v4

    Para obter mais informações sobre GPUs no Azure Stack Hub, consulte VM de unidade de processamento gráfico (GPU) no Azure Stack Hub.

  • Uma assinatura global do Azure. Se você não tiver uma assinatura global do Azure, crie uma conta gratuita antes de começar.

  • Um Azure Container Registry (ACR). Anote o servidor de início de sessão ACR, o nome de utilizador e a palavra-passe.

  • Um hub IoT de nível gratuito ou padrão no Azure global.

Uma máquina de desenvolvimento

  • Você pode usar seu próprio computador ou uma máquina virtual, dependendo de suas preferências de desenvolvimento. O seu computador de desenvolvimento precisará suportar virtualização aninhada. Esse recurso é necessário para executar o Docker, o mecanismo de contêiner usado neste artigo.

  • Sua máquina de desenvolvimento precisará dos seguintes recursos:

    • Python 3.x
    • Pip para instalar pacotes Python. Isso foi instalado com a instalação do Python. Se você tiver o Pip instalado, você pode querer atualizar para a versão mais recente. Você pode atualizar usando pip, em si. Tipo: pip install --upgrade pip.
    • da CLI do Azure 2.0
    • Git
    • Docker
    • de código do Visual Studio
    • Ferramentas de IoT do Azure para o Visual Studio Code
    • Python Extension Pack para Visual Studio Code

Registrar um dispositivo IoT Edge

Use um dispositivo separado para hospedar seu dispositivo IoT Edge. O uso de um dispositivo separado fornecerá uma separação entre sua máquina de desenvolvimento e o dispositivo IoT Edge espelha com mais precisão um cenário de implantação.

Crie um dispositivo IoT Edge no Azure com uma VM Linux:

  1. Criar uma VM de servidor Linux da série N no Azure Stack Hub. Ao instalar componentes para seu servidor, você interagirá com o servidor via SSH. Para obter mais informações, consulte Usar um par de chaves SSH com o Azure Stack Hub.

  2. Criar e registrar um dispositivo IoT Edge

Preparar uma VM habilitada para GPU

  1. Instale os drivers de GPU NVIDA em seu servidor Linux da série N seguindo as etapas no artigo Instalar drivers de GPU NVIDIA em VMs da série N executando Linux.

    Observação

    Você usará a linha de comando bash para instalar seu 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 GPU

  2. Instale o tempo de execução mais recente do IoT Edge em seu servidor Linux da série N no Azure Stack Hub. Para obter instruções, consulte Instalar o runtime do Azure IoT Edge em sistemas Linux baseados em Debian

Instalar o Docker

Instale o Docker em sua VM habilitada para GPU. Você executará o módulo do marketplace do IoT Edge em um contêiner na VM.

Você deve instalar o Docker 19.02 ou superior. O tempo de execução do Docker agora suporta as GPUs NVIDIA. Para saber mais sobre GPUs no Docker, consulte o artigo na documentação do Docker, Opções de tempo de execução com Memória, CPUs e GPUs.

Instalar o Docker

Os contêineres do Docker podem ser executados em qualquer lugar, localmente, no datacenter do cliente, em um provedor de serviços externo ou na nuvem, no Azure. Os contêineres de imagem do Docker podem ser executados nativamente no Linux e no Windows. No entanto, as imagens do Windows podem ser executadas apenas em hosts Windows e as imagens do Linux podem ser executadas em hosts Linux e hosts Windows (usando uma VM Linux Hyper-V, até agora), onde host significa um servidor ou uma VM. Para obter mais informações, consulte O que é o Docker?.

  1. Conecte-se ao seu servidor Linux da série N usando seu cliente SSH.

  2. Atualize o índice e as listas do apt.

    sudo apt-get update
    
  3. Buscar as novas versões dos pacotes existentes na máquina.

    sudo apt-get upgrade
    
  4. Instale as dependências necessárias para adicionar o repositório apt do Docker.

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

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

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

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

    docker -v
    
  9. Exponha os recursos de GPU disponíveis no Docker.

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

Obtenha o item do mercado

Volte ao portal do Azure e adicione o modelo ao seu dispositivo de Edge usando o mercado IoT. Selecione o Módulo do Marketplace no menu. E procure por Getting started with GPUs, e siga as instruções para adicionar o módulo.

Para obter instruções, consulte Selecionar dispositivo e adicionar módulos

Habilitar monitoramento

  1. Faça o download do explorador do Azure IoTe depois ligue a aplicação ao seu Hub IoT.

  2. Selecione seu dispositivo IoT e navegue até Telemetria no menu de navegação.

  3. Selecione Iniciar para começar a monitorizar a saída do Dispositivo IoT Edge.

uma instalação válida

Monitorar o módulo (Opcional)

  1. Na paleta de comandos VS Code, execute Hub IoT do Azure: Selecione Hub IoT.

  2. Escolha a assinatura e o hub IoT que contêm o dispositivo IoT Edge que você deseja configurar. Nesse caso, selecione a assinatura em sua instância do Azure Stack Hub e selecione o dispositivo IoT Edge criado para seu Azure Stack Hub. Isso ocorre quando você configura a computação por meio do portal do Azure nas etapas anteriores.

  3. No explorador do VS Code, expanda a seção Hub IoT do Azure. Em Dispositivos, você deve ver o dispositivo IoT Edge correspondente ao seu Azure Stack Hub.

    1. Selecione esse dispositivo, clique com o botão direito do mouse e selecione Start Monitoring Built-in Event Endpoint.

    2. Vá para Devices > Modules e você verá seu módulo de GPU em execução.

    3. O terminal VS Code também deve mostrar os eventos do Hub IoT como a saída de monitoramento para seu Azure Stack Hub.

    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.

Próximos passos