Der Zweck dieses Tutorials ist es, die Installation von CUDA auf Ubuntu 20.04 Focal Fossa Linux zu zeigen.
Das Nvidia CUDA-Toolkit ist eine Erweiterung der GPU-Parallel-Computing-Plattform und des Programmiermodells. Die Nvidia CUDA-Installation besteht aus der Aufnahme des offiziellen Nvidia CUDA-Repositorys, gefolgt von der Installation des relevanten Metapakets und dem Konfigurationspfad der ausführbaren CUDA-Binärdateien.
In diesem Tutorial lernen Sie:
- So installieren Sie das CUDA-Toolkit aus dem Ubuntu-Repository
- So installieren Sie das CUDA-Toolkit aus dem CUDA-Repository
- Wie man Beispiel-CUDA-C-Code kompiliert und Programm ausführt
- Überprüfen der CUDA-Version
CUDA auf Ubuntu 20.04 Focal Fossa Linux
Softwareanforderungen und verwendete Konventionen
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu 20.04 installiert oder Ubuntu 20.04 Focal Fossa aktualisiert |
Software | CUDA |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Schritt-für-Schritt-Anleitung zur Installation von CUDA auf Ubuntu 20.04
So installieren Sie das CUDA-Toolkit aus dem Ubuntu-Repository
- Obwohl Sie möglicherweise nicht die neueste Version des CUDA-Toolkits erhalten, ist die einfachste Möglichkeit, CUDA auf Ubuntu 20.04 zu installieren, die Installation aus den Standard-Repositories von Ubuntu durchzuführen.
Um CUDA zu installieren, führen Sie die folgenden Befehle aus:
$ sudo apt update $ sudo apt install nvidia-cuda-toolkit
- Alles sollte jetzt fertig sein. Überprüfen Sie Ihre CUDA-Version:
$ 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
HINWEIS
Um die neueste und aktuellere CUDA-Version zu installieren, siehe unten So installieren Sie das CUDA-Toolkit aus dem CUDA-Repository Abschnitt. - Bestätigen Sie die Installation des CUDA-Toolkits durch die Kompilierung des Beispiel-CUDA-C-Codes. Siehe unten Beispiel-CUDA-Code kompilieren Abschnitt.
So installieren Sie das CUDA-Toolkit aus dem CUDA-Repository
- Falls Sie dies noch nicht getan haben, vergewissern Sie sich, dass Sie den Nvdia-Treiber für Ihren VGA installiert haben. Befolgen Sie dazu unsere Anleitung zur Installation der NVIDIA-Treiber unter Ubuntu 20.04 Focal Fossa Linux.
- Nvida CUDA-Repository einrichten. Führen Sie die folgenden Befehle aus, um das CUDA-Repository zu aktivieren.
$ 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/ /"
- Zu diesem Zeitpunkt sollten alle bereit sein, CUDA zu installieren. Führen Sie die beiden folgenden
apt
aus Befehle:$ sudo apt update $ sudo apt install cuda
- Sobald Sie fertig sind, stellen Sie Ihren Pfad so ein, dass er auf CUDA-Binärdateien zeigt:
$ echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc
- Überprüfen Sie die CUDA-Version, um die Installation zu bestätigen:
$ 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
Kompilieren Sie einen Beispiel-CUDA-Code
Bestätigen Sie die Installation, indem Sie einen Beispiel-CUDA-C-Code kompilieren. Speichern Sie den folgenden Code in einer Datei namens eg. 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);
}
Verwenden Sie als Nächstes nvcc
den Nvidia CUDA-Compiler, um den Code zu kompilieren und die neu kompilierte Binärdatei auszuführen:
$ nvcc -o hello hello.cu $ ./hello Max error: 0.000000
Fehlerbehebung
Im Moment unterstützt CUDA den GCC-Compiler höher als Version 8 nicht, wenn er aus CUDA Ubuntu 18.04-Quellen installiert wird. Als Ergebnis erhalten Sie bei der Codekompilierung mit dem Nvidia CUDA-Compiler möglicherweise die folgende Fehlermeldung:
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! | ^~~~~
Um die CUDA-Compiler-Anforderungen zu erfüllen, stellen Sie Ihren Standard-GCC-Compiler auf Version 8 oder niedriger um.
Abschlussgedanken
In diesem Tutorial haben wir gesehen, wie man CUDA auf Ubuntu 20.04 Focal Fossa Linux installiert. Es ist möglich, das CUDA-Toolkit mit verschiedenen Methoden zu installieren, die wir hier gezeigt haben. Alle Methoden liefern das gleiche Ergebnis, daher sollten Sie die für Ihre Situation am besten geeignete auswählen.