Lo scopo di questo tutorial è mostrare come installare CUDA su Ubuntu 20.04 Focal Fossa Linux.
Il toolkit Nvidia CUDA è un'estensione della piattaforma di elaborazione parallela GPU e del modello di programmazione. L'installazione di Nvidia CUDA consiste nell'inclusione del repository Nvidia CUDA ufficiale seguito dall'installazione del relativo metapacchetto e dalla configurazione del percorso dei binari eseguibili di CUDA.
In questo tutorial imparerai:
- Come installare CUDA toolkit da Ubuntu Repository
- Come installare CUDA toolkit dal repository CUDA
- Come compilare un codice CUDA C di esempio ed eseguire il programma
- Come controllare la versione CUDA
CUDA su Ubuntu 20.04 Focal Fossa Linux
Requisiti e convenzioni software utilizzati
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Installato Ubuntu 20.04 o aggiornato Ubuntu 20.04 Focal Fossa |
Software | CUDA |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Come installare CUDA su Ubuntu 20.04 istruzioni passo passo
Come installare CUDA toolkit da Ubuntu Repository
- Anche se potresti non ritrovarti con l'ultima versione del toolkit CUDA, il modo più semplice per installare CUDA su Ubuntu 20.04 è eseguire l'installazione dai repository standard di Ubuntu.
Per installare CUDA eseguire i seguenti comandi:
$ sudo apt update $ sudo apt install nvidia-cuda-toolkit
- Ora dovrebbe essere tutto pronto. Controlla la tua versione 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
Per installare la versione CUDA più recente e più aggiornata, vedere di seguito Come installare CUDA toolkit dal repository CUDA sezione. - Conferma l'installazione del toolkit CUDA mediante la compilazione del codice C CUDA di esempio. Vedi il seguente Compilare un codice CUDA di esempio sezione.
Come installare CUDA toolkit dal repository CUDA
- Se non l'hai ancora fatto, assicurati di aver installato il driver Nvdia per la tua VGA. Per farlo segui la nostra guida su Come installare i driver NVIDIA su Ubuntu 20.04 Focal Fossa Linux.
- Imposta il repository Nvida CUDA. Esegui i seguenti comandi per abilitare il repository 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/ /"
- A questo punto tutti dovrebbero essere pronti per installare CUDA. Esegui i due seguenti
apt
comandi:$ sudo apt update $ sudo apt install cuda
- Una volta pronto, imposta il tuo percorso in modo che punti ai binari CUDA:
$ echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
- Controlla la versione CUDA per confermare l'installazione:
$ 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
Compila un codice CUDA di esempio
Confermare l'installazione compilando un codice CUDA C di esempio. Salva il codice seguente in un file chiamato es. 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);
}
Quindi, usa nvcc
il compilatore Nvidia CUDA per compilare il codice ed eseguire il file binario appena compilato:
$ nvcc -o hello hello.cu $ ./hello Max error: 0.000000
Risoluzione dei problemi
Al momento CUDA non supporta il compilatore GCC successivo alla versione 8 se installato da sorgenti CUDA Ubuntu 18.04. Di conseguenza, durante la compilazione del codice con il compilatore Nvidia CUDA potresti ricevere il seguente errore:
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! | ^~~~~
Per soddisfare i requisiti del compilatore CUDA, cambia il tuo compilatore GCC predefinito alla versione 8 o inferiore.
Pensieri conclusivi
In questo tutorial abbiamo visto come installare CUDA su Ubuntu 20.04 Focal Fossa Linux. È possibile installare il toolkit CUDA attraverso diversi metodi, che abbiamo mostrato qui. Tutti i metodi daranno lo stesso risultato, quindi dovresti scegliere quello più conveniente per la tua situazione.