¿Cómo instalo los controladores NVIDIA y CUDA en Ubuntu?

33

Tengo un sistema con una tarjeta NVIDIA que tiene un soporte de cómputo de 3.5+ en comparación con https://developer.nvidia.com/cuda-gpus . ¿Cómo instalo CUDA y los controladores NVIDIA en Ubuntu sin descargar los archivos .deb de NVIDIA?

Terrance
fuente

Respuestas:

52

Controladores Ubuntu 18.04, CUDA 10.1, libcudnn 7.5.1 y NVIDIA 418.67:

NOTA 2019-06-23: Las actualizaciones recientes con las versiones CUDA 10.0 o 10.1 del controlador NVIDIA 418.67, que se instala con él, ya no tienen las bibliotecas de 32 bits incluidas y esto hará que Steam y la mayoría de los juegos ya no funcionen. La versión delibnvidia-gl-418:i386solo instala la versión 418.56 que no funcionará con el controlador 418.67. Con suerte, NVIDIA lanzará una actualización para eso pronto. He agregado la información al final de esta respuesta en larun file installparte de cómo descargar solo el archivo de ejecución para el instalador de CUDA, luego puede usar el controlador que desee. El archivo de ejecución tiene un tamaño de 2,3 GB, por lo que la descarga puede demorar un poco.

NOTA: CUDA 9.x no está disponible a través del repositorio ubuntu1804 de NVIDIA. Sin embargo, escribí una respuesta para CUDA 9.2 en https://askubuntu.com/a/1086993/231142

Estas instrucciones son para instalar CUDA a través del repositorio en lugar de la .debinstalación.

Las siguientes líneas puede copiar y pegar en una ventana de terminal. Presione Ctrl+ Alt+ Tpara abrir una ventana de terminal.

Elimine cualquier PPA de CUDA que pueda estar configurado y también elimine nvidia-cuda-toolkitsi está instalado:

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit

Se recomienda eliminar también todos los controladores NVIDIA antes de instalar nuevos controladores:

sudo apt remove --autoremove nvidia-*

Luego actualice el sistema:

sudo apt update

Recientemente, me acabo de enterar de que la instalación de CUDA funciona con el, graphics-drivers ppaasí que si no lo ha agregado, agréguelo ahora:

sudo add-apt-repository ppa:graphics-drivers/ppa

Instala la llave:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

Agrega los repositorios:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

Actualice el sistema nuevamente:

sudo apt update

Instale CUDA 10.1:

sudo apt install cuda-10-1

Debería instalar los controladores NVIDIA 418.40, ya que son los que se enumeran en el repositorio. Ver: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/

Instalar libcudnn7 7.5.1:

sudo apt install libcudnn7

Agregue las siguientes líneas a su ~/.profilearchivo para CUDA 10.1

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Reinicie la computadora y verifique su configuración cuando se complete el reinicio:

Verifique el compilador NVIDIA Cuda con nvcc --version:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168

Verifique la versión de libcudnn /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn:

terrance@terrance-ubuntu:~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
    libcudnn.so.7 -> libcudnn.so.7.5.1

Verifique el controlador NVIDIA con nvidia-smi:

terrance@terrance-ubuntu:~$ nvidia-smi 
Sat Jun  1 09:38:07 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67       Driver Version: 418.67       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 750 Ti  On   | 00000000:02:00.0  On |                  N/A |
| 40%   38C    P0     2W /  38W |    116MiB /  2000MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2216      G   /usr/lib/xorg/Xorg                           110MiB |
|    0      2542      G   compton                                        1MiB |
+-----------------------------------------------------------------------------+

.run instalación de archivo

Al usar el sudo add-apt-repository ppa:graphics-drivers/ppapuede instalar el 430.26controlador más nuevo o cualquiera que se adapte a su gusto.

A continuación, instale libcudnn7 de la siguiente manera:

Agregue el repositorio:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

Instala la llave:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

Actualiza el sistema:

sudo apt update

Instale libcudnn7.5.1:

sudo apt install libcudnn7

Ahora descargar el cuda_10.1.105_418.39_linux.runde https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal

Luego ejecute el instalador:

sudo sh cuda_10.1.105_418.39_linux.run

Escriba accept y presione enter en esta pantalla:

┌──────────────────────────────────────────────────────────────────────────────┐
│  End User License Agreement                                                  │
│  --------------------------                                                  │
│                                                                              │
│                                                                              │
│  Preface                                                                     │
│  -------                                                                     │
│                                                                              │
│  The Software License Agreement in Chapter 1 and the Supplement              │
│  in Chapter 2 contain license terms and conditions that govern               │
│  the use of NVIDIA software. By accepting this agreement, you                │
│  agree to comply with all the terms and conditions applicable                │
│  to the product(s) included herein.                                          │
│                                                                              │
│                                                                              │
│  NVIDIA Driver                                                               │
│                                                                              │
│                                                                              │
│  Description                                                                 │
│                                                                              │
│  This package contains the operating system driver and                       │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit):                         │
│ accept                                                                       

Anule la selección del controlador y luego elija Instalar usando las teclas de flecha y la barra espaciadora para mover y seleccionar o anular la selección:

┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer                                                               │
│ - [ ] Driver                                                                 │
│      [ ] 418.39                                                              │
│ + [X] CUDA Toolkit 10.1                                                      │
│   [X] CUDA Samples 10.1                                                      │
│   [X] CUDA Demo Suite 10.1                                                   │
│   [X] CUDA Documentation 10.1                                                │
│   Install                                                                    │
│   Options                                                                    │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│                                                                              │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │

Espere a que termine la instalación, podría decir errores durante, pero no se preocupe.

Agregue las siguientes líneas a su ~/.profilearchivo para CUDA 10.1

# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Reinicie el sistema para que los cambios surtan efecto.

Terrance
fuente
1
Tenga en cuenta que a partir de 2018-11 necesita cuda 0.9 para tensorflow.
mathtick
1
la instalación de nvidia-driver-410 falla porque depende de xserver-xorg-video-nvidia-410 y no se puede instalar porque depende de un montón de lbnvidia que no están disponibles
fccoelho
1
@fccoelho Recientemente descubrí que la instalación realmente funciona mejor con el graphics-drivers ppa, así que actualicé mi respuesta aquí para incluir ese PPA, entonces debería encontrar e instalar todas las dependencias.
Terrance
1
Debe realizar un paso de "sudo apt autoremove" después de eliminar el kit de herramientas y los controladores anteriores. De lo contrario, la instalación falla debido a dependencias que no se actualizan automáticamente.
Pieter-Jan Busschaert
1
Comentario adicional: el controlador NVidia incluido en el paquete 10.1 CUDA .deb de NVidia no incluye bibliotecas de 32 bits. Steam (y la mayoría de los juegos) ya no funcionará después de instalarlo de esta manera. Ver también: github.com/ValveSoftware/steam-for-linux/issues/5778
Pieter-Jan Busschaert
8

Controladores Ubuntu 16.04, CUDA 9.2 y NVIDIA 396:

NOTA: El repositorio de NVIDIA aquí ha decidido impulsar los controladores 410. Haré algunas pruebas para ver si puedo configurarlo para el controlador que desea instalar.

Estas instrucciones son para instalar CUDA a través del repositorio en lugar de la .debinstalación.

Las siguientes líneas puede copiar y pegar en una ventana de terminal. Presione Ctrl+ Alt+ Tpara abrir una ventana de terminal.

Elimine cualquier PPA de CUDA que pueda estar configurado y también elimine nvidia-cuda-toolkitsi está instalado:

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove nvidia-cuda-toolkit

Se recomienda eliminar también todos los controladores NVIDIA antes de instalar nuevos controladores:

sudo apt remove nvidia-*

Luego actualice el sistema:

sudo apt update

Instala la llave:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

Agrega el repositorio:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

Actualización para el nuevo repositorio que se agrega:

sudo apt update

Instale CUDA 9.2:

sudo apt install cuda-9-2

Debería instalar los controladores nvidia-396 con él, ya que son los que figuran en el repositorio. Ver: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/

Verifique que CUDA 9.2 esté instalado:

~$ ls /usr/local/cuda-9.2/
bin     include    libnvvp           nvml    samples  targets
doc     lib64      LICENSE           nvvm    share    tools
extras  libnsight  nsightee_plugins  README  src      version.txt

Ahora, agregue lo siguiente a su ~/.profilepara el PATHy LD_LIBRARY. Puede usar el comando gedit ~/.profilepara editar:

# set PATH for cuda 9.2 installation
if [ -d "/usr/local/cuda-9.2/bin/" ]; then
    export PATH=/usr/local/cuda-9.2/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Reinicie su sistema.

sudo reboot

Una vez que el sistema está encendido, puede verificar la instalación escribiendo lo siguiente:

nvcc -V

Deberías ver algo similar a lo siguiente:

~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

Y debería ver los 396.xxcontroladores instalados:

~$ nvidia-smi
Thu May 17 07:38:54 2018        
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.44                 Driver Version: 396.44                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 760     Off  | 00000000:02:00.0 N/A |                  N/A |
| 49%   53C    P0    N/A /  N/A |    187MiB /  1999MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

Terrance
fuente
3

Controladores Ubuntu 14.04, CUDA 10.0 y NVIDIA 410:

Tenga en cuenta que no tengo instalado Ubuntu 14.04, así que no puedo verificar si estos pasos funcionan o no. Pero de acuerdo con http://developer.download.nvidia.com/compute/cuda/repos/ de NVIDIA, deberían ser los mismos pasos que he enumerado en las otras dos respuestas.

Estas instrucciones son para instalar CUDA a través del repositorio en lugar de la .debinstalación.

Las siguientes líneas puede copiar y pegar en una ventana de terminal. Presione Ctrl+ Alt+ Tpara abrir una ventana de terminal.

Elimine cualquier PPA de CUDA que pueda estar configurado y también elimine nvidia-cuda-toolkitsi está instalado:

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove nvidia-cuda-toolkit

Se recomienda eliminar también todos los controladores NVIDIA antes de instalar nuevos controladores:

sudo apt remove nvidia-*

Luego actualice el sistema:

sudo apt update

Instala la llave:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub

Agrega el repositorio:

sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64 /" > /etc/apt/sources.list.d/cuda.list'

Actualice el sistema nuevamente:

sudo apt update

Instale CUDA 10.0.

sudo apt install cuda-10-0

Debería instalar los controladores nvidia-410, ya que son los que se enumeran en el repositorio. Ver: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/

Agregue las siguientes líneas a su ~/.profilearchivo para CUDA 10.0

# set PATH for cuda 10.0 installation
if [ -d "/usr/local/cuda-10.0/bin/" ]; then
    export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

Reinicie la computadora y verifique su configuración cuando se complete el reinicio:

Verifique el compilador NVIDIA Cuda con nvcc --version:

Verifique el controlador NVIDIA con nvidia-smi:

Terrance
fuente
0

No te equivoques. descargue el archivo .deb de una vez y para siempre. Descargué el archivo .run y lo instalé. pero, una vez que intenté instalar tensorrt, resultó que solo podría instalarse si su sistema usa la instalación del archivo .deb de los controladores de nvidia.

BarzanHayati
fuente