Aceleração de GPU para o Azure IoT Edge para Linux no Windows
Aplica-se a: IoT Edge 1.1
Importante
IoT Edge 1.1 a data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Atualizar o IoT Edge.
As GPUs são uma opção popular para computação de inteligência artificial, pois oferecem recursos de processamento paralelo e muitas vezes podem executar inferência baseada em visão mais rapidamente do que as CPUs. Para aprimorar o suporte a aplicativos de inteligência artificial e machine learning, o EFLOW (Azure IoT Edge para Linux no Windows) pode expor uma GPU ao 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 pertencentes à 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 os recursos de aceleração de GPU, você está aceitando e concordando com os termos do Contrato de Licença do Usuário Final da NVIDIA.
Pré-requisitos
Atualmente, os recursos de aceleração de GPU do Azure IoT Edge para Linux no Windows dão suporte a um conjunto selecionado de hardware de GPU. Além disso, o uso desse recurso pode exigir versões do Windows específicas.
As GPUs com suporte e as versões do Windows necessárias estão listadas abaixo:
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 a determinadas gerações de processadores ou arquiteturas de GPU, conforme a determinação do fornecedor da 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, você pode verificar o de versão do 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 aprimorar 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 desenvolvido para o WSL, os drivers CUDA para WSL também são usados para o Azure IoT Edge para Linux no Windows.
Windows 10 os usuários também devem instalar o WSL porque algumas das bibliotecas são compartilhadas entre WSL e Azure IoT Edge para Linux no Windows.
Intel iGPUs
Para iGPUs Intel, baixe e instale o Driver gráfico intel com suporte para GPU WSL.
Windows 10 os usuários também devem instalar o WSL porque algumas das bibliotecas são compartilhadas entre WSL e 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 que a instalação do sistema for concluída, você poderá criar a implantação do Azure IoT Edge para Linux no Windows. Durante esse processo, você precisa habilitar a GPU como parte da implantação do EFLOW.
Por exemplo, o comando a seguir cria uma máquina virtual com uma GPU NVIDIA A2 atribuída.
Deploy-Eflow -gpuPassthroughType "DirectDeviceAssignment" -gpuCount 1 -gpuName "NVIDIA A2"
Quando a instalação for concluída, você poderá implantar e executar módulos Linux acelerados por GPU por meio do Azure IoT Edge para Linux no Windows.
Próximas etapas
Experimente nosso exemplo habilitado para GPU com a Visão no Edge, um modelo de solução que ilustra como criar seu aplicativo de machine learning baseado em visão.
Descubra como executar aplicativos Intel OpenVINO no EFLOW seguindo o guia da Intel sobre iGPU com o Azure IoT Edge para Linux no Windows (EFLOW) e o Kit de Ferramentas OpenVINO e implementações de referência.
Saiba mais sobre as tecnologias de passagem de GPU visitando a documentação da DDA e a postagem no blog da GPU-PV.