¿Cómo puedo instalar CUDA 9 en Ubuntu 17.10?

41

Ubuntu 17.10 viene con CUDA 8 que se basa en clang 3.8 (por ejemplo, vea este blog ).

Sin embargo, me gustaría instalar CUDA 9 y confiar en GCC si es posible. ¿Cómo puedo hacer esto?

B0rk4
fuente

Respuestas:

57

Instalación del controlador NVIDIA 384

Primero instalamos un Ubuntu 17.10 nuevo en una computadora con una GPU NVIDIA y seleccionamos "Instalar software de terceros" durante el proceso. Alternativamente, podemos agregar el repositorio de controladores de gráficos manualmente:

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

Luego instalamos el controlador NVIDIA más reciente usando apt:

sudo apt install nvidia-384 nvidia-384-dev

Verificamos la instalación ejecutando:

nvidia-smi

Deberíamos ver una salida que enumera el controlador NVIDIA 384 y nuestra GPU NVIDIA discreta, similar a la tabla resumida a continuación:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90                 Driver Version: 384.90                    |
|                                                                             |
|-------------------------------+----------------------+----------------------+
|   0  Quadro M500M        Off  | 00000000:06:00.0 Off |                  N/A |
| N/A   48C    P0    N/A /  N/A |    943MiB /  2002MiB |     26%      Default |
+-------------------------------+----------------------+----------------------+

Preparación para la instalación de CUDA 9 + SDK

Instalamos una serie de paquetes de construcción / desarrollo que requerimos más adelante:

sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

Notamos que la versión predeterminada de gcc / g ++ en 17.10 es 7.2.0 (Ubuntu 7.2.0-8ubuntu3) :

gcc -v

CUDA 9 requiere gcc 6. Por lo tanto, lo instalamos:

sudo apt install gcc-6
sudo apt install g++-6

Tenga en cuenta que la versión predeterminada de gcc sigue siendo 7.2; se puede verificar ejecutando gcc -vnuevamente.

Instalación de CUDA 9 + SDK

Desde el Archivo de CUDA Toolkit , seleccione uno de los paquetes de instalación "runfile (local)" para descargar una versión de CUDA 9, como

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

Haga que el archivo descargado sea ejecutable y ejecútelo con sudo:

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

Instalamos CUDA con las siguientes configuraciones:

You are attempting to install on an unsupported configuration. Do you wish to continue?
y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
n
Install the CUDA 9.0 Toolkit?
y
Enter Toolkit Location
[default location]
Do you want to install a symbolic link at /usr/local/cuda?
y
Install the CUDA 9.0 Samples?
y
Enter CUDA Samples Location
[default location]

Configure enlaces simbólicos para gcc / g ++:

sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++

Probar la instalación de CUDA 9 con el SDK

Cree su muestra CUDA favorita y ejecútela:

cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/smokeParticles
make
../../bin/x86_64/linux/release/smokeParticles 

Es posible que desee configurar enlaces simbólicos gcc / g ++ después de la instalación de cuda.

B0rk4
fuente
1
He estado atrapado en este problema por un momento. Ejecutando 17.10, tratando de instalar CUDA 9. Tengo un problema en el paso 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidiadice que tengo una GeForce GTX 760. mokutil --sb-statemuestra SecureBoot deshabilitado. Ejecuté sudo apt-get purge nvidia*, ejecuté su comando de instalación para 384 y ejecuté dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. ¿Alguna sugerencia?
Clark Kent el
44
Que tenía que hacer, ya sea sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.0/bin/gcc sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.0/bin/g++o sudo ./cuda_9.0.176_384.81_linux-run --overridecomo autor recomienda a continuación para instalar correctamente sin conflicto compilador
y.selivonchyk
11
los dos comandos para agregar los enlaces simbólicos para los compiladores gcc 6 deben realizarse después de instalar cuda, porque / usr / local / cuda no existe antes de la instalación
Luis Lobo Borobia
1
¡Ayuda mucho! Lo único que hice de otra manera: creó enlaces simbólicos después de la instalación de cuda al final.
QtRoS
1
Antes de ejecutar cuda_9.0.176_384.81_linux.run, ¿cómo creaste los enlaces blandos ( ln -s)? ¿Creaste manualmente la carpeta cuda?
mahmood
5

La instalación de este tomó más tiempo del que me gustaría admitir, y aunque la respuesta anterior es una buena plantilla, tuve algunos pasos adicionales necesarios para mi nueva instalación de Ubuntu 17.10:

lista negra nouveau

sudo vim /etc/modprobe.d/blacklist.conf

Agregue lo siguiente:

# this one might not be required for x86 32 bit users.
blacklist amd76x_edac 

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Actualizar disco initramfs

sudo update-initramfs -u

Detener gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

Obtener el contenido

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-384 nvidia-384-dev
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

nvidia-smi

Obtén el paquete

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

Ejecutar con --override para anular la elección del compilador

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

Después de instalar el paquete, obtendría errores con nvidia-smi, por lo que sugiero ejecutar el comando nuevamente para verificar que funcione. Cuando tenía problemas, purgaba nvidia * y lo recuperaba.

nvidia-smi
Clark Kent
fuente
Es posible que algunas personas necesiten detenerse en lightdmlugar de hacerlo gdm3, consulte askubuntu.com/a/65867/422690
crypdick el
1

Seguí la respuesta aceptada (@ubashu) y todo salió bien (si no es exactamente lo mismo, las instrucciones conducirían a la ruta correcta). Solo tendría la exportación a Path (como se especifica también en https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions )

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Después de eso, puede usar nvcc -V para verificar si la instalación realmente salió bien.

Pedro Esmeriz
fuente