Compartilhar via


Aceleração de GPU em contêineres do Windows

Para muitas cargas de trabalho em contêineres, os recursos de computação de CPU fornecem desempenho suficiente. No entanto, para uma determinada classe de carga de trabalho, a tecnologia de computação paralela em massa oferecido pelas GPUs (unidades de processamento gráfico) pode acelerar as operações por ordens de magnitude, reduzindo o custo e aprimorando a taxa de transferência de maneira imensa.

As GPUs já são uma ferramenta comum para muitas cargas de trabalho populares, desde a renderização tradicional e a simulação até o treinamento e a inferência de aprendizado de máquina. Os contêineres do Windows dão suporte à aceleração de GPU para DirectX e todas as estruturas criadas com base nele.

Observação

Esse recurso está disponível no Docker Desktop, versão 2.1, e no mecanismo do Docker para Empresas, versão 19.03 ou posterior.

Requisitos

Para que esse recurso funcione, seu ambiente deve atender aos seguintes requisitos:

  • O host do contêiner deve estar executando o Windows Server 2019 ou o Windows 10, versão 1809 ou mais recente.
  • A imagem base de contêiner deve ser mcr.microsoft.com/windows:1809 ou mais recente. As imagens de contêiner do Windows Server Core e do Nano Server não têm suporte no momento.
  • O host do contêiner deve estar executando o mecanismo do Docker 19.03 ou mais recente.
  • O host do contêiner deve ter uma GPU executando drivers de exibição versão WDDM 2.5 ou mais recente.

Para verificar a versão do WDDM dos seus drivers de vídeo, execute a ferramenta de diagnóstico do DirectX (dxdiag.exe) no host do contêiner. Na guia "Exibir" da ferramenta, examine a seção "Drivers", conforme indicado abaixo.

Screenshot of the Driver Model found in the Display tab.

Executar um contêiner com aceleração de GPU

Para iniciar um contêiner com aceleração de GPU, execute o seguinte comando:

docker run --isolation process --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 mcr.microsoft.com/windows:1809

Importante

O DirectX, e todas as estruturas criadas com base nele, são as únicas APIs que podem ser aceleradas com uma GPU no momento. Não há suporte para estruturas de terceiros.

Suporte a contêineres do Windows isolados do Hyper-V

A aceleração de GPU para cargas de trabalho nos contêineres do Windows isolados do Hyper-V não tem suporte no momento.

Suporte a contêineres do Linux isolados do Hyper-V

A aceleração de GPU para cargas de trabalho nos contêineres do Linux isolados do Hyper-V não tem suporte no momento.

Mais informações

Para obter um exemplo completo de um aplicativo DirectX em contêiner que aproveita a aceleração de GPU, consulte Exemplo do contêiner do DirectX.