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

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

Antes de começar, você precisará de uma assinatura do Azure Active Directory (Azure AD) com acesso ao Azure global e ao Azure Stack Hub, um ACR (Registro de Contêiner do Azure) e um Hub IoT.

Neste artigo você:

  • Instale uma VM linux habilitada para GPU e instale os drivers corretos.
  • Instale o Docker e habilita a GPU no runtime.
  • Conexão seu dispositivo IoT para o Hub iOT e instalar do marketplace iOT o modelo: Getting started with GPUs .
  • Instale e monitore seu dispositivo de um computador local usando o Azure IoT Explorer.
  • E, opcionalmente, instale e monitore seu dispositivo usando a extensão de IoT do Azure Visual Studio Code.

Pré-requisitos

Você precisará ter os recursos a seguir em seu Azure Stack Hub, no Azure global e em seu computador de desenvolvimento local.

Azure Stack Hub e o Azure

  • Uma assinatura como um usuário usando Azure Active Directory (Azure AD) em um Azure Stack Hub Integrado com uma GPU NVIDA. Os chips a seguir funcionam com o Hub iOT:

    • NCv3
    • NCas_v4

    Para obter mais informações sobre GPUs Azure Stack Hub, consulte VM de GPU (unidadede processamento gráfico) 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 Registro de Contêiner do Azure (ACR). Anote o servidor de login, o nome de usuário e a senha do ACR.

  • Um hub IoT de camada gratuita ou padrão no Azure global.

Um computador de desenvolvimento

  • É possível usar seu próprio computador ou uma máquina virtual, dependendo de suas preferências de desenvolvimento. Seu computador de desenvolvimento precisará dar suporte à virtualização aninhada. Essa funcionalidade é necessária para executar o Docker, o mecanismo de contêiner usado neste artigo.

  • Seu computador de desenvolvimento precisará dos seguintes recursos:

Registrar um dispositivo IoT Edge

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

Crie um IoT Edge no Azure com uma VM linux:

  1. Crie uma VM de servidor Linux da série N 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 Azure Stack Hub.

  2. Criar e registrar um IoT Edge Dispositivo

Preparar uma VM habilitada para GPU

  1. Instale os Drivers de GPU NVIDA no servidor Linux da série N seguindo as etapas no artigo Instalar drivers de GPU NVIDIA em VMsda série N que executam o 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 runtime IoT Edge mais recente no servidor Linux da série N Azure Stack Hub. Para obter instruções, consulte Instalar o runtime 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 IoT Edge marketplace em um contêiner na VM.

Você deve instalar o Docker 19.02 ou superior. O runtime do Docker agora dá suporte às GPUs NVIDIA. Para saber mais sobre GPUs no Docker, consulte o artigo nos documentos do Docker, Opções de runtime com Memória, CPUs e GPUs.

Instalar o 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. Os contêineres de imagem do Docker podem ser executados nativamente no Linux e no 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. Para obter mais informações, consulte O que é o Docker?.

  1. Conexão ao servidor Linux da série N usando seu cliente SSH.

  2. Atualize o índice e as listas apt.

    sudo apt-get update
    
  3. Busque as novas versões de pacotes existentes no computador.

    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 repo de 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 de 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. Expor os recursos de GPU disponíveis no Docker.

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

Obter o item do marketplace

Retorne ao portal do Azure e adicione o modelo ao seu dispositivo de borda usando o marketplace iOT. Selecione Módulo do Marketplace no menu. Pesquise 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 o monitoramento

  1. Baixe o Azure IoT Explorere conecte o aplicativo ao Hub IoT.

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

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

uma instalação válida

Monitorar o módulo (opcional)

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

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

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

    1. Selecione esse dispositivo, clique com o botão direito do mouse e selecione Iniciar Monitoramento do Ponto deExtremidade de Evento Integrado .

    2. Acesse Módulos de Dispositivos e você deverá ver o módulo gpu em execução.

    3. O VS Code terminal também deve mostrar os eventos do Hub IoT como a saída de monitoramento para sua 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óximas etapas