Servidor Ubuntu: Como configurar uma GPU usando a atribuição de dispositivo discreto (DDA) em uma máquina virtual Ubuntu
Summary: Este artigo demonstra como configurar uma GPU usando atribuição de dispositivo discreto (DDA) em uma máquina virtual (VM) do Ubuntu Server versão 1804 em execução no Hyper-V.
Instructions
Objetivo
O DDA pode ser usado para passar um dispositivo PCIe inteiro, neste caso uma GPU, para uma VM. Isso permite o acesso de alto desempenho ao dispositivo e a capacidade de aproveitar seus drivers nativos.
Ambiente neste exemplo
Servidor: PowerEdge R740xd executando a GPU do Windows Server 2019
: VM NVIDIA Tesla P100
: 4 vCPUs, 32 GB de RAM executando Ubuntu ®18.04 LTS
Etapas
-
Instale o Windows Server 2019 no host e atualize o sistema operacional. Instale os drivers de dispositivo mais recentes, como chipset e drivers de GPU.
-
Instale a função Hyper-V.
-
Crie uma VM de geração 2. Desative a Inicialização segura nas configurações da VM e instale o Ubuntu ®18.04 LTS nela.
-
Aplicar atualizações do Ubuntu. Para fazer isso, execute os seguintes comandos:
$ sudo apt-get update
$ sudo apt-get upgrade
-
Desligue a VM.
-
Abra o Gerenciador de dispositivos no host, expanda Adaptadores de vídeo e selecione a GPU que será apresentada à VM.

Figura 1: Gerenciador de dispositivos com a GPU selecionada -
Clique com o botão direito na GPU a ser usada na VM e selecione Propriedades. Na guia Details , selecione Property na lista suspensa Location paths. Copie o valor que começa com PCIROOT para o bloco de notas.

Figura 2: Gerenciador de dispositivos Propriedades do dispositivo - Caminhos de localização -
Clique com o botão direito do mouse na GPU no Gerenciador de dispositivos e desative-a.

Figura 3: Desativando a GPU no Gerenciador de dispositivos -
Configure a VM para DDA usando o PowerShell. Abra o PowerShell como Administrador e execute os seguintes comandos:
# Configure the "Automatic Stop Action" of a VM to TurnOff. Set-VM -Name VMName -AutomaticStopAction TurnOff # Enable Write-Combining on the CPU. Set-VM -VMName VMName -GuestControlledCacheTypes $true # Configure the 32-bit MMIO space. Set-VM -VMName VMName -LowMemoryMappedIoSpace 128Mb # Configure greater than 32-bit MMIO space. Set-VM -VMName VMame -HighMemoryMappedIoSpace 18000Mb # Dismount the device. Dismount-VMHostAssignableDevice -force -LocationPath "step 7 location path goes here" # Assign the device to the VM. Add-VMAssignableDevice -VMName VMName -LocationPath "step 7 location path goes here" -
Inicie a VM.
-
Execute os seguintes comandos na VM para verificar se ela identificou a GPU:
$ lspci
$ sudo lshw -C Display

Figura 4: Saída dolspcielshwComandos -
Se o resultado do
sudo lshw -C Displayna etapa 11 indica que o driver Nouveau está instalado (consulte Configuração na Figura 4 acima), ele deve ser desativado. Nouveau é um driver gratuito e de código aberto para placas de vídeo NVIDIA escrito por engenheiros de software independentes. Esse driver é instalado por padrão e precisa ser desativado para instalar o driver NVIDIA. Execute os seguintes comandos para desativar o driver Nouveau.# Create a file at /etc/modprobe.d/blacklist-nouveau.conf. $ sudo nano /etc/modprobe.d/blacklist-nouveau.conf # Add the following to the newly created file, then save the file. blacklist nouveau options nouveau modeset=0 # Regenerate the kernel initramfs, then reboot. $ sudo update-initramfs -u $ reboot
Figura 5: Saída dolspcielshwcomandos após a desativação do driver Nouveau -
Faça download do driver
NVIDIA e instale-o na VM do Ubuntu.
# Run these commands after the file has been copied to the VM. $ sudo dpkg -i nvidia-driver-local-repo-ubuntu1804-440.33.01_1.0-1_amd64.deb $ sudo apt-key add /var/nvidia-driver-local-repo-440.33.01/7fa2af80.pub $ sudo apt-get update $ sudo apt-get install cuda-drivers {Install all the dependencies $ sudo reboot -
Para verificar se o driver está instalado corretamente, execute os seguintes comandos:
$ lspci $ sudo lshw -C Display $ nvidia-smi

Figura 6: Saída dolspci,lshwenvidia-smicomandos após a instalação do driver NVIDIA
Additional Information
Como substituir a GPU do PowerEdge R760
Duração: 00:03:10 (hh:mm:ss)
Quando disponíveis, as configurações de idioma de legendas podem ser escolhidas usando o ícone CC neste player de vídeo.