Instalar controladores de GPU


Después de crear una instancia de máquina virtual (VM) con una o más GPU, su sistema requiere controladores de dispositivo NVIDIA para que sus aplicaciones puedan acceder al dispositivo. Asegúrese de que las instancias de su máquina virtual (VM) tengan suficiente espacio libre en disco. Debe elegir al menos 40 GB para el disco de arranque al crear la nueva máquina virtual.

Para instalar los controladores, tiene dos opciones para elegir:

  • Si necesita GPU para gráficos 3D acelerados por hardware, como escritorios remotos o juegos, consulte Instalar controladores para estaciones de trabajo virtuales NVIDIA RTX (vWS) .

  • Para otras cargas de trabajo, siga las instrucciones de este documento para instalar el controlador NVIDIA.

Versiones del controlador NVIDIA, del kit de herramientas CUDA y del tiempo de ejecución CUDA

Hay diferentes componentes versionados de controladores y tiempo de ejecución que pueden ser necesarios en su entorno. Estos incluyen los siguientes componentes:

  • controlador nvidia
  • kit de herramientas CUDA
  • Tiempo de ejecución CUDA

Al instalar estos componentes, tiene la posibilidad de configurar su entorno para adaptarlo a sus necesidades. Por ejemplo, si tiene una versión anterior de Tensorflow que funciona mejor con una versión anterior del kit de herramientas CUDA, pero la GPU que desea usar requiere una versión posterior del controlador NVIDIA, entonces puede instalar una versión anterior del kit de herramientas CUDA junto con una versión posterior del controlador NVIDIA.

Sin embargo, debe asegurarse de que las versiones del controlador NVIDIA y del kit de herramientas CUDA sean compatibles. Para conocer la compatibilidad del kit de herramientas CUDA y del controlador NVIDIA, consulte la documentación de NVIDIA sobre la compatibilidad CUDA .

Versiones requeridas del controlador NVIDIA

Para las GPU NVIDIA que se ejecutan en Compute Engine, se recomiendan las siguientes versiones de controladores NVIDIA .

Serie de máquinas Modelo de GPU NVIDIA Controlador recomendado para Linux Controlador recomendado por Windows
A4 B200 570.124.06 N / A
A3 H200, H100 550.90.07 N / A
G2 L4 550.90.07 538,67
A2 A100 550.90.07 538,67
N1 T4, P4, P100 y V100 535.183.01 538.67

Instale controladores de GPU en máquinas virtuales utilizando las guías de NVIDIA

Una forma de instalar el controlador NVIDIA en la mayoría de las máquinas virtuales es instalar el kit de herramientas NVIDIA CUDA .

Para instalar el kit de herramientas NVIDIA, complete los siguientes pasos:

  1. Seleccione un kit de herramientas CUDA que admita el controlador mínimo que necesita.

  2. Conéctese a la VM donde desea instalar el controlador.

  3. En su VM, descargue e instale el kit de herramientas CUDA. El paquete de instalación y la guía para el kit de herramientas mínimo recomendado se encuentran en la siguiente tabla. Antes de instalar el kit de herramientas, asegúrese de completar los pasos previos a la instalación que se encuentran en la guía de instalación.

    Serie de máquinas Modelo de GPU NVIDIA Kit de herramientas CUDA recomendado por Linux Kit de herramientas CUDA recomendado por Windows
    A4 B200 N / A
    A3 H200, H100 N / A
    G2 L4
    A2 A100
    N1
    • T4
    • V100
    • P100
    • P4

Instale controladores de GPU en máquinas virtuales mediante un script de instalación

Puede utilizar los siguientes scripts para automatizar el proceso de instalación. Para revisar estos scripts, consulte el repositorio de GitHub .

linux

Utilice estas instrucciones para instalar controladores de GPU en una máquina virtual en ejecución.

Sistemas operativos compatibles

El script de instalación de Linux se probó en los siguientes sistemas operativos:

  • Debian 11 y 12
  • Red Hat Enterprise Linux (RHEL) 8 y 9
  • Rocky Linux 8 y 9
  • Ubuntu 20, 22 y 24

Si utiliza este script en otros sistemas operativos, la instalación podría fallar. Este script puede instalar el controlador NVIDIA y el kit de herramientas CUDA . Para instalar los controladores de GPU y el kit de herramientas CUDA, complete los siguientes pasos:

  1. Si tiene la versión 2.38.0 o posterior del Ops Agent que recopila métricas de GPU en su VM, debe detener el agente antes de poder instalar o actualizar los controladores de su GPU mediante este script de instalación.

    Una vez que haya completado la instalación o actualización del controlador de GPU, deberá reiniciar la máquina virtual.

    Para detener Ops Agent, ejecute el siguiente comando:

    sudo systemctl stop google-cloud-ops-agent
  2. Asegúrese de que Python 3 esté instalado en su sistema operativo.

  3. Descargue el script de instalación.

    curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
  4. Ejecute el script de instalación.

    sudo python3 cuda_installer.pyz install_driver

    El script tarda algún tiempo en ejecutarse. Reiniciará su VM. Si la VM se reinicia, ejecute el script nuevamente para continuar con la instalación.

  5. Verifique la instalación. Consulte Verificar la instalación del controlador de GPU .

  6. También puede utilizar esta herramienta para instalar CUDA Toolkit. Para instalar el kit de herramientas CUDA, ejecute el siguiente comando:

    sudo python3 cuda_installer.pyz install_cuda

    Este script puede tardar al menos 30 minutos en ejecutarse. Reiniciará su VM. Si la VM se reinicia, ejecute el script nuevamente para continuar con la instalación.

  7. Verifique la instalación del kit de herramientas CUDA.

    sudo python3 cuda_installer.pyz verify_cuda

Linux (secuencia de comandos de inicio)

Utilice estas instrucciones para instalar controladores de GPU durante el inicio de una VM.

Sistemas operativos compatibles

El script de instalación de Linux se probó en los siguientes sistemas operativos:

  • Debian 11 y 12
  • Red Hat Enterprise Linux (RHEL) 8 y 9
  • Rocky Linux 8 y 9
  • Ubuntu 20, 22 y 24

Si utiliza este script en otros sistemas operativos, la instalación podría fallar. Este script puede instalar el controlador NVIDIA y el kit de herramientas CUDA .

Utilice el siguiente script de inicio para automatizar la instalación del controlador y del kit de herramientas CUDA:

#!/bin/bash
if test -f /opt/google/cuda-installer
then
  exit
fi

mkdir -p /opt/google/cuda-installer
cd /opt/google/cuda-installer/ || exit

curl -fSsL -O https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz
python3 cuda_installer.pyz install_cuda

ventanas

Este script de instalación se puede utilizar en máquinas virtuales que tengan habilitado el arranque seguro.

  • Para las máquinas virtuales Windows que utilizan una serie de máquinas G2, este script instala solo el controlador NVIDIA.
  • Para otros tipos de máquinas, el script instala el controlador NVIDIA y el kit de herramientas CUDA.

Abra una terminal PowerShell como administrador y luego complete los siguientes pasos:

  1. Si está utilizando Windows Server 2016, configure la versión de Transport Layer Security (TLS) en 1.2.

    [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
    
  2. Descarga el guión.

    Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
  3. Ejecute el script.

    C:\install_gpu_driver.ps1

    El script tarda algún tiempo en ejecutarse. No se proporcionan mensajes de comando durante el proceso de instalación. Una vez que sale el script, se instala el controlador.

    Este script instala los controladores en la siguiente ubicación predeterminada en su VM: C:\Program Files\NVIDIA Corporation\ .

  4. Verifique la instalación. Consulte Verificar la instalación del controlador de GPU .

Instalar controladores de GPU (VM de arranque seguro)

Estas instrucciones son para instalar controladores de GPU en máquinas virtuales Linux que utilizan arranque seguro .

Si está utilizando una máquina virtual Windows o una máquina virtual Linux que no usa arranque seguro, revise una de las siguientes instrucciones:

La instalación del controlador en una máquina virtual de arranque seguro es diferente para las máquinas virtuales Linux, porque estas máquinas virtuales requieren que todos los módulos del kernel estén firmados con la clave en la que confía el sistema.

Estas instrucciones solo están disponibles para máquinas virtuales Linux de arranque seguro que se ejecutan en los sistemas operativos Ubuntu 18.04, 20.04 y 22.04. Se está dando soporte a más sistemas operativos Linux.

Para instalar controladores de GPU en sus máquinas virtuales Ubuntu que usan arranque seguro, complete los siguientes pasos:

  1. Conéctese a la VM donde desea instalar el controlador.

  2. Actualiza el repositorio.

      sudo apt-get update
    
  3. Busque el paquete del módulo del kernel de NVIDIA más reciente o la versión que desee. Este paquete contiene módulos del kernel de NVIDIA firmados con la clave de Ubuntu. Si desea buscar una versión anterior, cambie el número del parámetro tail para obtener una versión anterior. Por ejemplo, especifique tail -n 2 .

    Ubuntu PRO y LTS

    Para Ubuntu PRO y LTS, ejecute el siguiente comando:

    NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
    

    Ubuntu PRO FIPS

    Para Ubuntu PRO FIPS, ejecute los siguientes comandos:

    1. Habilite las actualizaciones FIPS de Ubuntu.

      sudo ua enable fips-updates
      
    2. Apagar y reiniciar

      sudo shutdown -r now
      
    3. Obtenga el paquete más reciente.

      NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp-fips$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
      

    Puede verificar la versión del controlador elegido ejecutando echo $NVIDIA_DRIVER_VERSION . El resultado es una cadena de versión como 455 .

  4. Instale el paquete del módulo del kernel y el controlador NVIDIA correspondiente.

      sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
    

    Si el comando falla con el package not found error , es posible que falte el controlador NVIDIA más reciente en el repositorio. Vuelva a intentar el paso anterior y seleccione una versión anterior del controlador cambiando el número de cola.

  5. Verifique que el controlador NVIDIA esté instalado. Es posible que deba reiniciar la máquina virtual.

  6. Si reinició el sistema para verificar la versión de NVIDIA. Después del reinicio, debe restablecer la variable NVIDIA_DRIVER_VERSION volviendo a ejecutar el comando que utilizó en el paso 3.

  7. Configure APT para utilizar el repositorio de paquetes de NVIDIA.

    1. Para ayudar a APT a elegir la dependencia correcta, fije los repositorios de la siguiente manera:

      sudo tee /etc/apt/preferences.d/cuda-repository-pin-600 > /dev/null <<EOL
      Package: nsight-compute
      Pin: origin *ubuntu.com*
      Pin-Priority: -1
      Package: nsight-systems Pin: origin *ubuntu.com* Pin-Priority: -1
      Package: nvidia-modprobe Pin: release l=NVIDIA CUDA Pin-Priority: 600
      Package: nvidia-settings Pin: release l=NVIDIA CUDA Pin-Priority: 600
      Package: * Pin: release l=NVIDIA CUDA Pin-Priority: 100 EOL

    2. Instalar software-properties-common . Esto es necesario si está utilizando imágenes mínimas de Ubuntu.

       sudo apt install software-properties-common
       

    3. Configure la versión de Ubuntu.

      ubuntu 18.04

      Para Ubuntu 18.04, ejecute el siguiente comando:

      export UBUNTU_VERSION=ubuntu1804/x86_64

      ubuntu 20.04

      Para Ubuntu 20.04, ejecute el siguiente comando:

      export UBUNTU_VERSION=ubuntu2004/x86_64

      ubuntu 22.04

      Para Ubuntu 22.04, ejecute el siguiente comando:

      export UBUNTU_VERSION=ubuntu2204/x86_64
    4. Descargue el paquete cuda-keyring .

      wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
    5. Instale el paquete cuda-keyring .

      sudo dpkg -i cuda-keyring_1.0-1_all.deb
    6. Añade el repositorio de NVIDIA.

      sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"

      Si se le solicita, seleccione la acción predeterminada para mantener su versión actual.

  8. Busque la versión del controlador CUDA compatible.

    El siguiente script determina la última versión del controlador CUDA que es compatible con el controlador NVIDIA que acabamos de instalar:

      CUDA_DRIVER_VERSION=$(apt-cache madison cuda-drivers | awk '{print $3}' | sort -r | while read line; do
         if dpkg --compare-versions $(dpkg-query -f='${Version}\n' -W nvidia-driver-${NVIDIA_DRIVER_VERSION}) ge $line ; then
            echo "$line"
            break
         fi
      done)
    

    Puede verificar la versión del controlador CUDA ejecutando echo $CUDA_DRIVER_VERSION . El resultado es una cadena de versión como 455.32.00-1 .

  9. Instale los controladores CUDA con la versión identificada en el paso anterior.

      sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
    

  10. Opcional: retener paquetes dkms .

    Después de habilitar el arranque seguro, todos los módulos del kernel deben estar firmados para poder cargarse. Los módulos del kernel creados por dkms no funcionan en la VM porque no están firmados correctamente de forma predeterminada. Este es un paso opcional, pero puede ayudar a evitar que instale accidentalmente otros paquetes dkms en el futuro.

    Para contener paquetes dkms , ejecute el siguiente comando:

      sudo apt-get remove dkms && sudo apt-mark hold dkms
    
  11. Instale el kit de herramientas CUDA y el tiempo de ejecución.

    Elija la versión CUDA adecuada. El siguiente script determina la última versión de CUDA que es compatible con el controlador CUDA que acabamos de instalar:

      CUDA_VERSION=$(apt-cache showpkg cuda-drivers | grep -o 'cuda-runtime-[0-9][0-9]-[0-9],cuda-drivers [0-9\\.]*' | while read line; do
         if dpkg --compare-versions ${CUDA_DRIVER_VERSION} ge $(echo $line | grep -Eo '[[:digit:]]+\.[[:digit:]]+') ; then
            echo $(echo $line | grep -Eo '[[:digit:]]+-[[:digit:]]')
            break
         fi
      done)
    

    Puede verificar la versión de CUDA ejecutando echo $CUDA_VERSION . El resultado es una cadena de versión como 11-1 .

  12. Instale el paquete CUDA.

      sudo apt install cuda-${CUDA_VERSION}
    
  13. Verifique la instalación de CUDA.

      sudo nvidia-smi
      /usr/local/cuda/bin/nvcc --version
    

    El primer comando imprime la información de la GPU. El segundo comando imprime la versión del compilador CUDA instalada.

Verifique la instalación del controlador de GPU

Después de completar los pasos de instalación del controlador, verifique que el controlador se haya instalado e inicializado correctamente.

linux

Conéctese a la instancia de Linux y use el comando nvidia-smi para verificar que el controlador se esté ejecutando correctamente.

sudo nvidia-smi

El resultado es similar al siguiente:

Tue Mar 21 19:50:15 2023
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.90.07              Driver Version: 550.90.07      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  Tesla T4                       On  |   00000000:00:04.0 Off |                    0 |
| N/A   50C    P8             16W /   70W |       1MiB /  15360MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

Si este comando falla, revise lo siguiente:

  • Compruebe si las GPU están conectadas a la VM. Para comprobar si hay dispositivos PCI NVIDIA, ejecute el siguiente comando:

    sudo lspci | grep -i "nvidia"
  • Compruebe que la versión del kernel del controlador y la versión del kernel de la VM sean las mismas.

    • Para verificar la versión del kernel de VM, ejecute el siguiente comando:

      uname -r
    • Para verificar la versión del kernel del controlador, ejecute el siguiente comando:

      sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp

      Si las versiones no coinciden, reinicie la VM con la nueva versión del kernel.

Servidor Windows

Conéctese a la instancia de Windows Server y abra una terminal PowerShell, luego ejecute el siguiente comando para verificar que el controlador se esté ejecutando correctamente.

nvidia-smi

El resultado es similar al siguiente:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 538.67                 Driver Version: 538.67       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA L4                    WDDM  | 00000000:00:03.0 Off |                    0 |
| N/A   66C    P8              17W /  72W |    128MiB / 23034MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      4888    C+G   ...CBS_cw5n1h2txyewy\TextInputHost.exe    N/A      |
|    0   N/A  N/A      5180    C+G   ....Search_cw5n1h2txyewy\SearchApp.exe    N/A      |
+---------------------------------------------------------------------------------------+

¿Qué sigue?