Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: IoT Edge 1.5
Importante
O IoT Edge 1.5 LTS é a versão com suporte. O IoT Edge 1.4 LTS atingirá o fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.
As GPUs são uma opção popular para cálculos de inteligência artificial porque oferecem recursos de processamento paralelo e geralmente executam inferências baseadas em visão mais rapidamente do que as CPUs. Para dar suporte a aplicativos de inteligência artificial e machine learning, o Azure IoT Edge para Linux no Windows (EFLOW) expõe uma GPU para o módulo Linux da máquina virtual.
O Azure IoT Edge para Linux no Windows dá suporte a várias tecnologias de passagem de GPU, incluindo:
DDA (Atribuição direta de dispositivo) – os núcleos de GPU são alocados à máquina virtual Linux ou ao host.
GPU-PV (Paravirtualização de GPU) – a GPU é compartilhada entre a máquina virtual Linux e o host.
Você deve selecionar o método de passagem apropriado durante a implantação para corresponder aos recursos com suporte do hardware de GPU do dispositivo.
Importante
Esses recursos podem incluir componentes desenvolvidos e de propriedade da NVIDIA Corporation ou seus licenciadores. O uso dos componentes é regido pelo Contrato de Licença do Usuário Final da NVIDIA localizado no site da NVIDIA.
Usando recursos de aceleração de GPU, você aceita e concorda com os termos do Contrato de Licença de End-User NVIDIA.
Pré-requisitos
Os recursos de aceleração de GPU do Azure IoT Edge para Linux no Windows atualmente dão suporte a um conjunto seleto de hardware de GPU. Além disso, usar esse recurso pode exigir versões específicas do Windows.
As GPUs com suporte e as versões necessárias do Windows são:
GPUs com suporte | Tipo de passagem de GPU | Versões do Windows com suporte |
---|---|---|
NVIDIA T4, A2 | DDA | Windows Server 2019 Windows Server 2022 Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
NVIDIA GeForce, Quadro, RTX | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
iGPU Intel | GPU-PV | Windows 10/11 (Pro, Enterprise, IoT Enterprise) |
Importante
O suporte a GPU-PV pode ser limitado, conforme determinado pelo fornecedor de GPU, a determinadas gerações de processadores ou arquiteturas de GPU. Para obter mais informações, confira a documentação do driver iGPU da Intel ou a documentação do CUDA para WSL da NVIDIA.
Os usuários do Windows Server 2019 precisam usar no mínimo o build 17763 com todas as atualizações cumulativas atuais instaladas.
Os usuários do Windows 10 precisam usar a atualização de novembro de 2021, build 19044.1620 ou superior. Após a instalação, verifique sua versão de build executando winver
no prompt de comando.
Não há suporte para passagem de GPU com virtualização aninhada, como a execução do EFLOW em uma máquina virtual do Windows.
Configuração e instalação do sistema
As seções a seguir contêm informações de instalação e configuração, de acordo com o tipo de GPU.
GPUs NVIDIA T4/A2
Para GPUs T4/A2, a Microsoft recomenda a instalação de um driver de mitigação de dispositivo do fornecedor da GPU. Embora seja opcional, a instalação de um driver de mitigação pode melhorar a segurança de sua implantação. Para obter mais informações, confira Implantar dispositivos gráficos usando a atribuição direta de dispositivo.
Aviso
Habilitar a passagem de dispositivo de hardware pode aumentar os riscos de segurança. A Microsoft recomenda um driver de mitigação de dispositivo do fornecedor da GPU, quando aplicável. Para obter mais informações, confira Implantar dispositivos gráficos usando a atribuição discreta de dispositivo.
GPUs NVIDIA GeForce/Quadro/RTX
Para GPUs NVIDIA GeForce/Quadro/RTX, baixe e instale o driver habilitado para NVIDIA CUDA para o WSL (Subsistema do Windows para Linux) a ser usado com os fluxos de trabalho existentes de ML do CUDA. Originalmente desenvolvidos para WSL, os drivers CUDA para WSL também são usados com o Azure IoT Edge para Linux no Windows.
Os usuários do Windows 10 também devem instalar o WSL porque algumas bibliotecas são compartilhadas entre o WSL e o Azure IoT Edge para Linux no Windows.
IGPUs da Intel
Para iGPUs Intel, baixe e instale o Driver gráfico intel com suporte para GPU WSL.
Os usuários do Windows 10 também devem instalar o WSL porque algumas bibliotecas são compartilhadas entre o WSL e o Azure IoT Edge para Linux no Windows.
Habilitar a aceleração de GPU na implantação do Azure IoT Edge para Linux no Windows
Depois de concluir a instalação do sistema, comece a criar sua implantação do Azure IoT Edge para Linux no Windows. Durante esse processo, habilite o suporte à GPU como parte da implantação do EFLOW.
Por exemplo, esses comandos criam uma máquina virtual habilitada para GPU com uma GPU NVIDIA A2 ou uma placa gráfica Intel Iris Xe.
#Deploys EFLOW with NVIDIA A2 assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType DirectDeviceAssignment -gpuCount 1 -gpuName "NVIDIA A2"
#Deploys EFLOW with Intel(R) Iris(R) Xe Graphics assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType ParaVirtualization -gpuCount 1 -gpuName "Intel(R) Iris(R) Xe Graphics"
Para localizar o nome da GPU, execute este comando ou procure adaptadores de exibição no Gerenciador de Dispositivos.
(Get-WmiObject win32_VideoController).caption
Depois de concluir a instalação, implante e execute módulos linux acelerados por GPU por meio do Azure IoT Edge para Linux no Windows.
Configurar a aceleração de GPU em uma implantação existente do Azure IoT Edge para Linux no Windows
Configure a GPU durante a implantação para a experiência mais simples. Para habilitar ou desabilitar a GPU após a implantação, use o set-eflowvm
comando. Quando você usa set-eflowvm
, o parâmetro padrão é usado para qualquer argumento que você não especificar. Por exemplo,
# Deploys EFLOW without a GPU assigned to the EFLOW VM
Deploy-Eflow -cpuCount 4 -memoryInMB 16384
# Assigns NVIDIA A2 GPU to the existing deployment (cpu and memory must still be specified, or they're set to the default values)
Set-EflowVM -cpuCount 4 -memoryInMB 16384 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
# Reduces the cpuCount and memory (GPU must still be specified, or the GPU is removed)
Set-EflowVM -cpuCount 2 -memoryInMB 4096 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1
# Removes NVIDIA A2 GPU from the existing deployment
Set-EflowVM -cpuCount 2 -memoryInMB 4096
Próximas etapas
Experimente exemplos de GPU dos exemplos de EFLOW. Esses exemplos mostram cenários comuns de fabricação e varejo, como detecção de defeitos, segurança do trabalho e gerenciamento de inventário. Esses exemplos de software livre podem ser um modelo de solução para criar seu próprio aplicativo de machine learning baseado em visão.
Saiba mais sobre as tecnologias de passagem de GPU na documentação do DDA e na postagem no blogGPU-PV.
Vários fornecedores de GPU fornecem guias de usuário para obter o máximo de seu hardware e software com o EFLOW:
- Saiba como executar aplicativos Intel OpenVINO™ no EFLOW seguindo o Guia da Intel sobre iGPU com o EFLOW (Azure IoT Edge para Linux no Windows) e o OpenVINO™ Toolkit e as implementações de referência.
- Introdução à implantação de aplicativos acelerados por CUDA no EFLOW seguindo o Guia de usuário do EFLOW para GPUs GeForce/Quadro/RTX da NVIDIA. Este guia não aborda GPUs baseadas em DDA, como NVIDIA T4 ou A2.