Después de crear una instancia de máquina virtual (VM) con una o más GPU, tu sistema requiere controladores de dispositivos NVIDIA para que tus aplicaciones puedan acceder a este. Asegúrate de que tus instancias de máquina virtual (VM) tengan suficiente espacio libre en el disco. Debes elegir al menos 40 GB para el disco de arranque cuando creas la VM nueva.
Para instalar los controladores, tienes dos opciones:
Si necesitas GPU para gráficos 3D acelerados por hardware, como escritorios remotos o videojuegos, consulta Instala controladores para estaciones de trabajo virtuales de NVIDIA RTX.
Para otras cargas de trabajo, sigue las instrucciones de este documento a fin de instalar el controlador de NVIDIA.
Controlador NVIDIA, kit de herramientas CUDA y versiones de entorno de ejecución CUDA
Existen diferentes componentes con versiones de controladores y entornos de ejecución que podrían ser necesarios en el entorno. Estos incluyen los siguientes componentes:
- Controlador de NVIDIA
- Kit de herramientas CUDA
- Tiempo de ejecución CUDA
Cuando instalas estos componentes, puedes configurar el entorno para adaptarlo a tus necesidades. Por ejemplo, si tienes una versión anterior de TensorFlow que funciona mejor con una versión anterior del kit de herramientas CUDA, pero la GPU que deseas usar requiere una versión posterior del controlador NVIDIA, entonces puedes instalar una versión anterior de un kit de herramientas CUDA y una versión posterior del controlador NVIDIA.
Sin embargo, debes asegurarte de que el controlador de NVIDIA y las versiones del kit de herramientas CUDA sean compatibles. Para obtener información sobre el kit de herramientas CUDA y la compatibilidad con el controlador NVIDIA, consulta la documentación de NVIDIA sobre la compatibilidad con CUDA.
Versiones necesarias del controlador NVIDIA
Para las GPU de NVIDIA que se ejecutan en Compute Engine, se recomiendan las siguientes versiones de controlador NVIDIA:
Modelo de GPU | Linux | Windows |
---|---|---|
NVIDIA H100 | 535.86.10 o una versión posterior | N/A |
NVIDIA L4 | 535.86.10 o una versión posterior | 536.67 |
NVIDIA A100, T4, P4, P100 y V100 | 535.54.03 o una versión posterior | 536.25 o una versión posterior |
NVIDIA K80 (fin de la asistencia) | Versión R470 más reciente | Versión R470 más reciente |
En el caso de las GPU K80, NVIDIA anunció que la rama del controlador R470r será la versión final del controlador para recibir asistencia de depuración. Si deseas revisar esta actualización, consulta la Matriz de compatibilidad de software de NVIDIA.
Instala controladores de GPU en VM
Una forma de instalar el controlador de NVIDIA en la mayoría de las VM es instalar el kit de herramientas de CUDA de NVIDIA.
Para instalar el kit de herramientas de NVIDIA, completa los siguientes pasos:
Selecciona un kit de herramientas CUDA que admita el controlador mínimo que necesitas.
Conéctate a la VM en la que deseas instalar el controlador.
En tu VM, descarga e instala el kit de herramientas CUDA. El paquete de instalación y la guía del kit de herramientas recomendado se encuentran en la siguiente tabla. Antes de instalar el kit de herramientas, asegúrate de completar los pasos previos a la instalación que se encuentran en la guía de instalación.
Modelo de GPU Versión mínima recomendada del kit de herramientas CUDA Instrucciones de instalación para la versión mínima - NVIDIA H100
- Linux: Actualización del kit de herramientas de CUDA 12.2 Update 1
- Windows: N/A
- Linux: guía de instalación de CUDA 12.2
- Windows: N/A
- NVIDIA L4
- Linux: guía de instalación de CUDA 12.2
- Windows: Guía de instalación de CUDA 12.2
- NVIDIA A100
- NVIDIA T4
- NVIDIA V100
- NVIDIA P100
- NVIDIA P4
- Linux: kit de herramientas CUDA 12.2
- Windows: Kit de herramientas CUDA 12.2
- Linux: guía de instalación de CUDA 12.2
- Windows: Guía de instalación de CUDA 12.2
Instala controladores de GPU con una secuencia de comandos de instalación
Puedes usar las siguientes secuencias de comandos para automatizar el proceso de instalación. Para revisar estas secuencias de comandos, consulta el repositorio de GitHub.
Limitaciones
- Esta secuencia de comandos no funcionará en las VM de Linux que tengan habilitado el Inicio seguro. Para las VMs de Linux que tienen habilitado el arranque seguro, consulta Instala controladores de GPU (VMs de arranque seguro).
Si tienes la versión 2.38.0 o una posterior del Agente de operaciones que recopila métricas de GPU en tu VM, debes detener el agente antes de pode instalar o actualizar tus controladores de GPU con esta secuencia de comandos de instalación.
Después de completar la instalación o actualización del controlador de GPU, debes reiniciar la VM.
Para detener el agente de operaciones, ejecuta el siguiente comando:
sudo systemctl stop google-cloud-ops-agent
Linux
Sistemas operativos compatibles
La secuencia de comandos de instalación de Linux se probó en los siguientes sistemas operativos:
- CentOS 7 y 8
- Debian 10 y 11
- Red Hat Enterprise Linux (RHEL) 7, 8 y 9
- Rocky Linux 8 y 9
- Ubuntu 20 y 22
Si usas esta secuencia de comandos en otros sistemas operativos, la instalación fallará. Para las VM de Linux, esta secuencia de comandos instala solo el controlador NVIDIA.
Asegúrate de que Python 3 esté instalado en tu sistema operativo.
Descarga la secuencia de comandos de instalación.
curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py
Ejecuta la secuencia de comandos de instalación.
sudo python3 install_gpu_driver.py
La secuencia de comandos tarda un tiempo en ejecutarse. Es posible que se reinicie la VM. Si la VM se reinicia, vuelve a ejecutar la secuencia de comandos para continuar con la instalación.
Verifica la instalación:. Consulta Verifica la instalación del controlador de GPU.
Windows
Esta secuencia de comandos de instalación se puede usar en VM que tengan habilitado el inicio seguro.
- En las VM de Windows que usan una serie de máquinas G2, esta secuencia de comandos instala solo el controlador NVIDIA.
- Para otros tipos de máquinas, la secuencia de comandos instala el controlador NVIDIA y el kit de herramientas CUDA.
Abre una terminal de PowerShell como administrador y, luego, completa los siguientes pasos:
Si usas Windows Server 2016, configura la versión de seguridad de la capa de transporte (TLS) como 1.2.
[Net.ServicePointManager]::SecurityProtocol = 'Tls12'
Descarga la secuencia de comandos.
Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
Ejecuta la secuencia de comandos.
C:\install_gpu_driver.ps1
La secuencia de comandos tarda un tiempo en ejecutarse. No se proporcionan símbolos del sistema durante el proceso de instalación. Una vez que la secuencia de comandos sale, el controlador se instala.
Esta secuencia de comandos instala los controladores en la ubicación predeterminada de tu VM:
C:\Program Files\NVIDIA Corporation\
.Verifica la instalación:. Consulta Verifica la instalación del controlador de GPU.
Instala controladores de GPU (VMs de arranque seguro)
Estas instrucciones son para instalar controladores de GPU en VMs de Linux que usan el arranque seguro.
Si usas una VM de Windows o una VM de Linux que no usa el arranque seguro, revisa una de las siguientes instrucciones:
- Instala controladores de GPU en VMs
- Instala controladores de GPU con una secuencia de comandos de instalación
La instalación del controlador en una VM de arranque seguro es diferente para las VMs de Linux, ya que estas requieren que todos los módulos de kernel estén firmados por la clave de confianza del sistema.
Estas instrucciones solo están disponibles para las VMs de Linux de arranque seguro que se ejecutan en los sistemas operativos Ubuntu 18.04, 20.04 y 22.04. La compatibilidad para más sistemas operativos Linux está en desarrollo.
Para instalar controladores de GPU en tus VMs de Ubuntu que usan el arranque seguro, completa los siguientes pasos:
Conéctate a la VM en la que deseas instalar el controlador.
Actualiza el repositorio.
sudo apt-get update
Busca el paquete del módulo de kernel de NVIDIA más reciente o la versión que deseas. Este paquete contiene módulos de kernel de NVIDIA firmados por la clave de Ubuntu. Si deseas encontrar una versión anterior, cambia el número del parámetro de cola para obtener una versión anterior. Por ejemplo, especifica
tail -n 2
.Ubuntu PRO y LTS
Para Ubuntu PRO y LTS, ejecuta 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}')
FIPS de Ubuntu PRO
Para FIPS de Ubuntu PRO, ejecuta los siguientes comandos:
Habilita las actualizaciones del FIPS de Ubuntu.
sudo ua enable fips-updates
Apaga y reinicia
sudo shutdown -r now
Obtén 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}')
Para verificar la versión de controlador seleccionada, ejecuta
echo $NVIDIA_DRIVER_VERSION
. El resultado es una string de versión como455
.Instala el paquete del módulo de kernel y el controlador de NVIDIA correspondiente:
sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
Si el comando falló con el
package not found error
, es posible que falte el controlador de NVIDIA más reciente del repositorio. Vuelve a intentar el paso anterior y selecciona una versión de controlador anterior; para ello, cambia el número de cola.Verifica que el controlador NVIDIA esté instalado. Es posible que debas reiniciar la VM.
Si reiniciaste el sistema para verificar la versión de NVIDIA. Después del reinicio, debes restablecer la variable
NVIDIA_DRIVER_VERSION
a través de la ejecución del comando que usaste en el paso 3.Configura APT para usar el repositorio de paquetes de NVIDIA
Para ayudar a APT a elegir la dependencia correcta, fija 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 EOLInstala
software-properties-common
. Esto es necesario si usas imágenes mínimas de Ubuntu.sudo apt install software-properties-common
Configura la versión de Ubuntu.
Ubuntu 18.04
En Ubuntu 18.04, ejecuta el siguiente comando:
export UBUNTU_VERSION=ubuntu1804/x86_64
Ubuntu 20.04
En Ubuntu 20.04, ejecuta el siguiente comando:
export UBUNTU_VERSION=ubuntu2004/x86_64
Ubuntu 22.04
En Ubuntu 22.04, ejecuta el siguiente comando:
export UBUNTU_VERSION=ubuntu2204/x86_64
Descarga el paquete
cuda-keyring
.wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
Instala el paquete
cuda-keyring
.sudo dpkg -i cuda-keyring_1.0-1_all.deb
Agrega el repositorio de NVIDIA.
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"
Si se te solicita, selecciona la acción predeterminada para conservar tu versión actual.
Busca la versión del controlador CUDA compatible.
La siguiente secuencia de comandos determina la última versión del controlador CUDA 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)
Para verificar la versión del controlador CUDA, ejecuta
echo $CUDA_DRIVER_VERSION
. El resultado es una string de versión como455.32.00-1
.Instala 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}
Opcional: Retener los paquetes de
dkms
.Después de habilitar el inicio seguro, todos los módulos de kernel se deben firmar para cargarse. Los módulos de kernel creados por
dkms
no funcionan en la VM, porque no están firmados de manera predeterminada de forma predeterminada. Este paso es opcional, pero puede ayudarte a evitar la instalación accidental de otros paquetesdkms
en el futuro.Para conservar paquetes de
dkms
, ejecuta el siguiente comando:sudo apt-get remove dkms && sudo apt-mark hold dkms
Instala el kit de herramientas CUDA y el entorno de ejecución.
Elige la versión de CUDA adecuada. La siguiente secuencia de comandos determina la versión de CUDA más reciente 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)
Para verificar la versión de CUDA, ejecuta
echo $CUDA_VERSION
. El resultado es una string de versión como11-1
.Instala el paquete CUDA.
sudo apt install cuda-${CUDA_VERSION}
Verifica la instalación de CUDA.
sudo nvidia-smi
/usr/local/cuda/bin/nvcc --version
Con el primer comando, se imprime la información de la GPU. El segundo comando imprime la versión del compilador CUDA instalada.
Verifica la instalación del controlador de GPU
Después de completar los pasos de instalación del controlador, verifica que se instaló y se inicializó de forma adecuada.
Linux
Conéctate a la instancia de Linux y usa el comando nvidia-smi
para verificar que el controlador se ejecute de forma correcta.
sudo nvidia-smi
El resultado es similar al siguiente:
Tue Mar 21 19:50:15 2023 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 530.30.02 Driver Version: 530.30.02 CUDA Version: 12.1 | |-------------------------------+----------------------+----------------------+ | 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 NVIDIA L4 Off | 00000000:00:03.0 Off | 0 | | N/A 63C P0 30W / 75W | 0MiB / 23034MiB | 8% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
Si este comando falla, revisa lo siguiente:
Verifica si hay alguna GPU conectada a la VM.
Usa el siguiente comando para buscar cualquier dispositivo PCI de NVIDIA:
sudo lspci | grep -i "nvidia"
.Comprueba 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 de kernel de la VM, ejecuta
uname -r
. - Para verificar la versión de kernel del controlador, ejecuta
sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp
.
Si las versiones no coinciden, reinicia la VM a la nueva versión del kernel.
- Para verificar la versión de kernel de la VM, ejecuta
Windows Server
Conéctate a la instancia de Windows Server y abre una terminal de PowerShell y, luego, ejecuta el siguiente comando para verificar que el controlador se ejecute de forma correcta.
nvidia-smi
El resultado es similar a este:
+---------------------------------------------------------------------------------------+ | NVIDIA-SMI 537.13 Driver Version: 537.13 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 | +---------------------------------------------------------------------------------------+
Próximos pasos
- Para supervisar el rendimiento de las GPU, consulta Supervisa el rendimiento de las GPU.
- Para controlar el mantenimiento del host de la GPU, consulta Controla eventos de mantenimiento del host de la GPU.
- Para mejorar el rendimiento de la red, consulta Usa un ancho de banda de red mayor.
- Para solucionar problemas de VMs con GPU, consulta Soluciona problemas de VMs con GPU.