Solución:
Controladores de Ubuntu 18.04, CUDA 10.1, libcudnn 7.5.1 y NVIDIA 418.67
Notas
-
2021-01-07: Utilice la instalación 20.04 a continuación para avanzar, ya que los pasos son los mismos para 18.04 y 20.04.
-
2019-06-23: Actualizaciones recientes con las versiones CUDA 10.0 o 10.1, el controlador NVIDIA 418.67, que se instala con él, ya no tiene las bibliotecas de 32 bits incluidas y esto hará que Steam y la mayoría de los juegos ya no funcionen. La versión de
libnvidia-gl-418:i386
solo 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 el.run file install
parte de cómo descargar solo el archivo de ejecución para el instalador de CUDA, entonces puede usar el controlador que desee. El archivo de ejecución tiene un tamaño de 2,3 GB, por lo que puede tardar un poco en descargarse. -
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
Instalar CUDA a través del repositorio (en lugar del .deb
instalación)
Las siguientes líneas se pueden copiar y pegar en una ventana de terminal. prensa control+Alt+T para abrir una ventana de terminal.
Eliminar y actualizar
Elimine cualquier PPA de CUDA que pueda estar configurado y también elimine el nvidia-cuda-toolkit
si 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
Agregar e instalar
Recientemente, descubrí que la instalación de CUDA funciona con el graphics-drivers ppa
así que si no lo ha agregado, agréguelo ahora:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
Instale el controlador NVIDIA. Para esto usaremos el controlador 440
sudo apt install nvidia-driver-440
Ahora, instale la clave:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
Agregue 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 con él, ya que son los que se enumeran en el repositorio. Ver: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/
Instale libcudnn7 7.5.1:
sudo apt install libcudnn7
Ajusta el entorno y reinicia
Agregue las siguientes líneas a su ~/.profile
archivo 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 su computadora.
Verifica tu configuración
Compruebe 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
Compruebe la versión de libcudnn /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
:
[email protected]:~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
libcudnn.so.7 -> libcudnn.so.7.5.1
Compruebe el controlador de NVIDIA con nvidia-smi
:
[email protected]:~$ nvidia-smi
Wed Jan 29 12:41:02 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.48.02 Driver Version: 440.48.02 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| 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 Off | 00000000:02:00.0 On | N/A |
| 40% 34C P0 1W / 38W | 163MiB / 2000MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1993 G /usr/lib/xorg/Xorg 158MiB |
| 0 2502 G compton 1MiB |
+-----------------------------------------------------------------------------+
.run
instalación de archivo
Instalar controlador
Usando el sudo add-apt-repository ppa:graphics-drivers/ppa
puedes instalar el 430.26
controlador más nuevo o cualquiera que se adapte a su gusto.
Instalar libcudnn7
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'
Instale la clave:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
Actualice el sistema:
sudo apt update
Instale libcudnn7.5.1:
sudo apt install libcudnn7
Descargar el .run
expediente
Ahora descarga el cuda_10.1.105_418.39_linux.run
de 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
Si desea CUDA 10.2, las instrucciones de descarga están aquí: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal Luego siga los mismos pasos que a continuación, pero asegúrese de actualizar a 10.2 en lugar de 10.1.
Luego ejecuta el instalador:
sudo sh cuda_10.1.105_418.39_linux.run
Escriba aceptar 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
Deseleccione el controlador y luego elija Instalar usando las teclas de flecha y la barra espaciadora para mover y seleccionar o deseleccionar:
┌──────────────────────────────────────────────────────────────────────────────┐
│ 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 finalice la instalación, podría decir errores durante, pero no se preocupe.
Ajusta el entorno y reinicia
Agregue las siguientes líneas a su ~/.profile
archivo 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.
Controladores de 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 del .deb
instalación.
Las siguientes líneas se pueden copiar y pegar en una ventana de terminal. prensa control+Alt+T para abrir una ventana de terminal.
Elimine cualquier PPA de CUDA que pueda estar configurado y también elimine el nvidia-cuda-toolkit
si 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
Instale la clave:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
Agregue 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 se enumeran 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 ~/.profile
Para el PATH
y LD_LIBRARY
. Puedes usar el comando gedit ~/.profile
para 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é funcionando, puede verificar la instalación escribiendo lo siguiente:
nvcc -V
Debería 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ías ver el 396.xx
controladores 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 |
+-----------------------------------------------------------------------------+
Ubuntu 20.04 LTS, CUDA 11.2.0, NVIDIA 455 y libcudnn 8.0.4
Nota: El controlador NVIDIA que viene con CUDA 11.2.0 es el controlador 460 que no viene con los controladores de 32 bits, lo que puede hacer que aplicaciones como Steam fallen debido a la falta de bibliotecas de 32 bits. Esta instalación omite la instalación de los controladores patentados de NVIDIA 460 y utiliza la graphics-drivers
PPA en su lugar. Esto también permite que el controlador permanezca instalado después de una actualización del kernel.
Si no tienes el graphics-drivers
PPA ya está configurado, agréguelo ahora a su sistema y elimine los controladores NVIDIA anteriores.
sudo apt-add-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-455
Ahora, descargue el archivo CUDA 11.2.0 .run de NVIDIA:
wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
Me gusta hacerlo ejecutable:
chmod +x cuda_11.2.0_460.27.04_linux.run
Ahora instale CUDA:
sudo ./cuda_11.2.0_460.27.04_linux.run
Acepte el EULA:
┌──────────────────────────────────────────────────────────────────────────────┐
│ End User License Agreement │
│ -------------------------- │
│ │
│ NVIDIA Software License Agreement and CUDA Supplement to │
│ Software 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 │
│ │
│ │
│──────────────────────────────────────────────────────────────────────────────│
│ Do you accept the above EULA? (accept/decline/quit): │
│ accept
Deseleccione el controlador presionando la barra espaciadora mientras [X] Driver
está resaltado:
┌──────────────────────────────────────────────────────────────────────────────┐
│ CUDA Installer │
│ - [ ] Driver │
│ [ ] 460.27.04 │
│ + [X] CUDA Toolkit 11.2 │
│ [X] CUDA Samples 11.2 │
│ [X] CUDA Demo Suite 11.2 │
│ [X] CUDA Documentation 11.2 │
│ Options │
│ Install │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ Up/Down: Move | Left/Right: Expand | 'Enter': Select | 'A': Advanced options │
Luego presione la flecha hacia abajo para Install
. prensa Ingresar luego espere a que se complete la instalación.
Una vez completada la instalación, agregue lo siguiente al final de su ~/.profile
o agregarlo al /etc/profile.d/cuda.sh
archivo que podría tener que crear para todos los usuarios (global):
# set PATH for cuda 11.2 installation
if [ -d "/usr/local/cuda-11.2/bin/" ]; then
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi
Instalar libcudnn8
Agregue el repositorio:
NOTA: El repositorio 20.04 de NVIDIA no proporciona libcudnn, pero el repositorio 18.04 sí lo hace y se instala bien en 20.04.
echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda_learn.list
Instale la clave:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
Actualice el sistema:
sudo apt update
Instale libcudnn 8.0.4:
sudo apt install libcudnn8
Recomiendo ahora reiniciar el sistema para que los cambios surtan efecto.
Después de que se reinicie, verifique las instalaciones:
$ nvidia-smi
Thu Jan 7 08:05:43 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.45.01 Driver Version: 455.45.01 CUDA Version: 11.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 GeForce GTX 750 Ti On | 00000000:01:00.0 On | N/A |
| 40% 45C P0 2W / 38W | 212MiB / 2000MiB | 2% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 3096 G /usr/lib/xorg/Xorg 189MiB |
| 0 N/A N/A 5979 G compton 1MiB |
| 0 N/A N/A 15230 G ...AAAAAAAA== --shared-files 15MiB |
+-----------------------------------------------------------------------------+
~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:08:53_PST_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293
~$ /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.0.4
libcudnn.so.8 -> libcudnn.so.8.0.4
libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.0.4
libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.0.4
libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.0.4
libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.0.4
libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.0.4