Aceleração de GPU em contêineres do Windows
Para muitas cargas de trabalho em contêineres, os recursos de computação da CPU fornecem desempenho suficiente. No entanto, para uma determinada classe de carga de trabalho, o poder de computação massivamente paralelo oferecido por GPUs (unidades de processamento gráfico) pode acelerar as operações por ordens de magnitude, reduzindo consideravelmente o custo e melhorando imensamente a taxa de transferência.
As GPUs já são uma ferramenta comum para muitas cargas de trabalho populares, desde renderização e simulação tradicionais até treinamento e inferência de aprendizado de máquina. Os contêineres do Windows dão suporte à aceleração de GPU para DirectX e a todas as estruturas criadas sobre ele.
Nota
Esse recurso está disponível no Docker Desktop, versão 2.1 e Docker Engine – Enterprise, versão 19.03 ou posterior.
Pré-requisitos
Para que esse recurso funcione, seu ambiente deve atender aos seguintes requisitos:
- O host de contêiner deve estar executando o Windows Server 2019 ou o Windows 10, versão 1809 ou mais recente.
- A imagem base do contêiner deve ser mcr.microsoft.com/windows:1809 ou mais recente. No momento, não há suporte para imagens de contêiner do Windows Server Core e Nano Server.
- O host de contêiner deve estar executando o Docker Engine 19.03 ou mais recente.
- O host de 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 drivers de exibição, 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.
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 sobre ele) são as únicas APIs que podem ser aceleradas com uma GPU hoje. Não há suporte para estruturas de terceiros.
Suporte a contêineres do Windows isolados por Hyper-V
Atualmente, não há suporte para aceleração de GPU para cargas de trabalho em contêineres do Windows isolados do Hyper-V.
Suporte a contêineres do Linux em ambiente isolado do Hyper-V
Atualmente, não há suporte para aceleração de GPU para cargas de trabalho em contêineres linux isolados do Hyper-V.
Mais informações
Para obter um exemplo completo de um aplicativo DirectX em contêineres que aproveita a aceleração de GPU, consulte exemplo de contêiner do DirectX.