Implementar um módulo IoT ativado pela GPU no 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. Os tamanhos de VM otimizados da GPU são VMs especializados disponíveis com GPUs únicos ou múltiplos da NVIDIA. Neste artigo, aprenda a usar VMs otimizados de GPU para executar cargas de trabalho de visualização e visualização computacional intensivas, com gráficas intensivas e visualizações.

Antes de começar, vai precisar de uma subscrição de 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.

Neste artigo, irá:

  • Instale um Linux VM ativado pela GPU e instale os controladores corretos.
  • Instale o Docker e ative a GPU no tempo de funcionação.
  • Ligação 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 Azure IoT.
  • E opcionalmente, instale e monitorize o seu dispositivo utilizando a extensão Azure IoT em Visual Studio Código.

Pré-requisitos

Você precisará ter os seguintes recursos no seu exemplo Azure Stack Hub, global Azure, e na sua máquina de desenvolvimento local.

Azure Stack Hub e Azure

  • Uma subscrição como utilizador que utiliza Azure Ative Directory (Azure AD) num Sistema Integrado Azure Stack Hub com um GPU NVIDA. As seguintes fichas funcionam com o iOT Hub:

    • NCv3
    • NCas_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.

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

  • Registo do Contentor Azure (ACR). Tome nota do servidor de entrada de ACR, nome de utilizador e senha.

  • Um hub IoT de nível livre ou standard no Azure global.

Uma máquina de desenvolvimento

  • Pode utilizar o seu próprio computador ou uma máquina virtual, dependendo das suas preferências de desenvolvimento. A sua máquina de desenvolvimento terá de suportar a virtualização aninhada. Esta capacidade é necessária para executar Docker, o motor de contentores utilizado neste artigo.

  • A sua máquina de desenvolvimento necessitará dos seguintes recursos:

Registar um dispositivo do IoT Edge

Utilize um dispositivo separado para hospedar o seu dispositivo IoT Edge. 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.

Crie um dispositivo IoT Edge em Azure com um Linux VM:

  1. Crie um VM de servidor Linux da série N no Azure Stack Hub. À medida que instala componentes para o seu servidor, irá interagir com o servidor via SSH. Para obter mais informações, consulte Use um par de chaves SSH com Azure Stack Hub.

  2. Criar e registar um dispositivo de borda IoT

Preparar um VM ativado pela GPU

  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.

    Nota

    Vais usar a linha de comando bash para instalar o teu 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 GPU

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

Instalar o Docker

Instale o Docker no seu VM ativado pela GPU. Vais executar o módulo do mercado IoT Edge num contentor no VM.

Tem de instalar o Docker 19.02 ou superior. O tempo de funcionação do Docker agora suporta os GPUs da NVIDIA. 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.

Instalar o Docker

Os contentores docker podem funcionar em qualquer lugar, no local do datacenter do cliente, num prestador de serviços externo ou na nuvem, em Azure. Os recipientes de imagem do Docker podem funcionar de forma nativa em Linux e Windows. No entanto, Windows imagens só podem ser executadas em Windows anfitriões e imagens Linux podem ser executadas em anfitriões Linux e Windows anfitriões (usando um Hyper-V Linux VM, até agora), onde o hospedeiro significa um servidor ou um VM. Para mais informações, vê o que é Docker?

  1. Ligação ao seu servidor Linux da série N utilizando o seu cliente SSH.

  2. Atualize o índice e listas aptas.

    sudo apt-get update
    
  3. Pegue 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 apto 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 apto do Docker.

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

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

    docker -v
    
  9. Exponha os recursos disponíveis da GPU em Docker.

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

Obtenha o item do mercado

Volte ao portal Azure e adicione o modelo ao seu dispositivo de borda utilizando o mercado iOT. Selecione o Módulo de Mercado do menu. E Getting started with GPUs procure, e siga as instruções para adicionar o módulo.

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

Ativar monitorização

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

  2. Selecione o seu Dispositivo IoT e navegue para telemetria a partir do menu de navegação.

  3. Selecione Comece a monitorizar a saída a partir do dispositivo IoT Edge Device.

a valid install

Monitorize o módulo (Opcional)

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

  2. Escolha a subscrição e o hub IoT que contém o dispositivo do IoT Edge que pretende configurar. Neste caso, selecione a subscrição na sua instância Azure Stack Hub e selecione o dispositivo IoT Edge criado para o seu Azure Stack Hub. Isto ocorre quando configura o cálculo através do portal Azure nos passos anteriores.

  3. No explorador de código VS, expanda a secção Azure IoT Hub. Em Dispositivos,deverá ver o dispositivo IoT Edge correspondente ao seu Azure Stack Hub.

    1. Selecione este dispositivo, clique à direita e selecione Start Monitoring Built-in Event Endpoint.

    2. Vá aos Módulos de Dispositivos e verá o seu módulo GPU em funcionamento.

    3. O terminal de código VS também deve mostrar os eventos IoT Hub como a saída de monitorização para o seu Azure Stack Hub.

    a valid install is

    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.

Passos Seguintes