El propósito de este tutorial es mostrar cómo instalar CUDA en Ubuntu 20.04 Focal Fossa Linux.
El kit de herramientas Nvidia CUDA es una extensión de la plataforma de computación paralela GPU y el modelo de programación. La instalación de Nvidia CUDA consiste en la inclusión del repositorio oficial de Nvidia CUDA seguido de la instalación del metapaquete relevante y la configuración de la ruta de los binarios ejecutables de CUDA.
En este tutorial aprenderás:
- Cómo instalar el kit de herramientas CUDA desde el repositorio de Ubuntu
- Cómo instalar el kit de herramientas de CUDA desde el repositorio de CUDA
- Cómo compilar un ejemplo de código CUDA C y ejecutar un programa
- Cómo comprobar la versión de CUDA
CUDA en Ubuntu 20.04 Focal Fossa Linux
Requisitos de software y convenciones utilizadas
Requisitos de software y convenciones de la línea de comandos de Linux Categoría | Requisitos, convenciones o versión de software utilizada |
Sistema | Ubuntu 20.04 instalado o Ubuntu 20.04 Focal Fossa actualizado |
Software | CUDA |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |
Cómo instalar CUDA en Ubuntu 20.04 instrucciones paso a paso
Cómo instalar el kit de herramientas CUDA desde el repositorio de Ubuntu
- Aunque es posible que no termine con la última versión del kit de herramientas CUDA, la forma más fácil de instalar CUDA en Ubuntu 20.04 es realizar la instalación desde los repositorios estándar de Ubuntu.
Para instalar CUDA ejecute los siguientes comandos:
$ sudo apt update
$ sudo apt install nvidia-cuda-toolkit
- Todo debería estar listo ahora. Verifique su versión de CUDA:
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
NOTA
Para instalar la última y más actualizada versión de CUDA, consulte a continuación Cómo instalar el kit de herramientas de CUDA desde el repositorio de CUDA sección.
- Confirme la instalación del kit de herramientas de CUDA mediante la compilación de código C de CUDA de muestra. Consulte el siguiente Compilación de un código CUDA de muestra sección.
Cómo instalar el kit de herramientas de CUDA desde el repositorio de CUDA
- En caso de que aún no lo haya hecho, asegúrese de haber instalado el controlador Nvdia para su VGA. Para hacerlo, siga nuestra guía sobre cómo instalar los controladores NVIDIA en Ubuntu 20.04 Focal Fossa Linux.
- Configure el repositorio CUDA de Nvida. Ejecute los siguientes comandos para habilitar el repositorio CUDA.
$ sudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
- En esta etapa, todo debería estar listo para instalar CUDA. Ejecute los dos siguientes
apt
comandos:$ sudo apt update
$ sudo apt install cuda
- Una vez que esté listo, configure su ruta para que apunte a los binarios de CUDA:
$ echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
- Verifique la versión de CUDA para confirmar la instalación:
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
Compilar un código CUDA de muestra
Confirme la instalación compilando un ejemplo de código CUDA C. Guarde el siguiente código en un archivo llamado, por ejemplo. hello.cu
:
#include <stdio.h>
__global__
void saxpy(int n, float a, float *x, float *y)
{
int i = blockIdx.x*blockDim.x + threadIdx.x;
if (i < n) y[i] = a*x[i] + y[i];
}
int main(void)
{
int N = 1<<20;
float *x, *y, *d_x, *d_y;
x = (float*)malloc(N*sizeof(float));
y = (float*)malloc(N*sizeof(float));
cudaMalloc(&d_x, N*sizeof(float));
cudaMalloc(&d_y, N*sizeof(float));
for (int i = 0; i < N; i++) {
x[i] = 1.0f;
y[i] = 2.0f;
}
cudaMemcpy(d_x, x, N*sizeof(float), cudaMemcpyHostToDevice);
cudaMemcpy(d_y, y, N*sizeof(float), cudaMemcpyHostToDevice);
// Perform SAXPY on 1M elements
saxpy<<<(N+255)/256, 256>>>(N, 2.0f, d_x, d_y);
cudaMemcpy(y, d_y, N*sizeof(float), cudaMemcpyDeviceToHost);
float maxError = 0.0f;
for (int i = 0; i < N; i++)
maxError = max(maxError, abs(y[i]-4.0f));
printf("Max error: %f\n", maxError);
cudaFree(d_x);
cudaFree(d_y);
free(x);
free(y);
}
Luego, usa nvcc
el compilador Nvidia CUDA para compilar el código y ejecutar el binario recién compilado:
$ nvcc -o hello hello.cu
$ ./hello
Max error: 0.000000
Resolución de problemas
Por el momento, CUDA no es compatible con el compilador GCC superior a la versión 8 cuando se instala desde las fuentes CUDA Ubuntu 18.04. Como resultado de la compilación del código con el compilador Nvidia CUDA, es posible que reciba el siguiente error:
In file included from /usr/local/cuda-10.2/bin/../targets/x86_64-linux/include/cuda_runtime.h:83,
from :
/usr/local/cuda-10.2/bin/../targets/x86_64-linux/include/crt/host_config.h:138:2: error: #error -- unsupported GNU version! gcc versions later than 8 are not supported!
138 | #error -- unsupported GNU version! gcc versions later than 8 are not supported!
| ^~~~~
Para cumplir con los requisitos del compilador CUDA, cambie su compilador GCC predeterminado a la versión 8 o inferior.
Pensamientos finales
En este tutorial, vimos cómo instalar CUDA en Ubuntu 20.04 Focal Fossa Linux. Es posible instalar el kit de herramientas CUDA a través de varios métodos diferentes, que mostramos aquí. Todos los métodos darán el mismo resultado, por lo que debe elegir el que sea más conveniente para su situación.