So installieren Sie CUDA Toolkit unter Debian 12, 11 oder 10

NVIDIAs CUDA (Compute Unified Device Architecture) ist ein leistungsstarkes Tool für paralleles Rechnen. Es verwendet NVIDIA-Grafikprozessoren (GPUs), um die Geschwindigkeit von Rechenaufgaben zu erhöhen. Diese Anleitung zeigt Ihnen, wie Sie CUDA auf Debian 12 Bookworm, Debian 11 Bullseye und Debian 10 Buster installieren. Wir verwenden NVIDIAs APT-Repository für jede Debian-Version, um sicherzustellen, dass alles reibungslos läuft.

Was CUDA Toolkit auszeichnet:

  • Parallelverarbeitung: Mit CUDA kann Ihre Software mehrere Aufgaben gleichzeitig auf NVIDIA-Grafikprozessoren ausführen. Das ist ideal für Aufgaben, die viel Rechenleistung erfordern.
  • Unterstützung für viele Sprachen: Sie können CUDA mit Programmiersprachen wie C, C++ und Fortran verwenden. Es funktioniert auch mit anderen Computertools wie OpenCL und DirectCompute.
  • Vollständige Entwicklungstools: NVIDIA stellt Entwicklern mit Nsight Eclipse Edition einen vollständigen Satz an Tools zur Verfügung. Es hilft beim Erstellen, Debuggen und Verbessern von CUDA-Anwendungen.
  • Gebrauchsfertige Bibliotheken: CUDA verfügt über eigene Bibliotheken für GPU-Aufgaben. Beispiele sind cuBLAS für mathematische Operationen und cuFFT für die Datenanalyse.
  • Zukunftssicheres Design: CUDA ist für die Verwendung mit neuen und kommenden NVIDIA-Grafikprozessoren konzipiert. Das bedeutet, dass Ihre Software verbessert werden kann, ohne dass Sie viel an Ihrem Code ändern müssen.

Vor der Installation von CUDA unter Debian:

  • Überprüfen Sie Ihr System: Stellen Sie sicher, dass die Hardware und Software Ihres Computers für CUDA bereit sind. NVIDIA verfügt über eine Liste von GPUs und Systemanforderungen, die Sie überprüfen können.
  • Verwenden Sie die richtige Quelle: In diesem Handbuch geht es um das APT-Repository von NVIDIA für Debian. Es ist der beste Weg, um eine stabile und gut funktionierende Version von CUDA für Ihr Debian-System zu erhalten.
  • Bleiben Sie auf dem Laufenden: Es ist eine gute Idee, ab und zu nach Updates zu suchen. NVIDIA bringt oft neue Funktionen und Fixes heraus, um CUDA zu verbessern.

Um diese Einführung abzuschließen: Das Verstehen und Verwenden von CUDA unter Debian kann Ihre Anwendungen erheblich verbessern. Im weiteren Verlauf werden wir tiefer in den Installationsprozess und die Best Practices eintauchen, um das Beste aus dem CUDA-Toolkit von NVIDIA auf Ihrem Debian-System herauszuholen.

Löschen vorhandener CUDA- und NVIDIA-Installationen (situativ)

Bevor Sie NVIDIA-Treiber installieren oder Versionsupgrades unter Debian in Betracht ziehen, ist es wichtig, ganz von vorne anzufangen. Das bedeutet, dass Sie alle vorhandenen NVIDIA-Installationen von Ihrem Debian-System entfernen. Dieser Schritt stellt sicher, dass Sie potenzielle Probleme vermeiden, die durch überlappende Installationen entstehen. Wenn Sie mit der Installation von NVIDIA-Treibern noch nicht vertraut sind, können Sie diesen Abschnitt überspringen und mit dem nächsten fortfahren.

Methode 1: Deinstallieren von über APT installierten NVIDIA-Paketen

Wenn Sie zuvor den APT-Paketmanager zum Installieren von NVIDIA-Treibern verwendet haben, können Sie mit einem einzigen Befehl alle NVIDIA-bezogenen Pakete entfernen. Diese Aktion entfernt NVIDIA effektiv von Ihrem System. Geben Sie den folgenden Befehl in Ihr Terminal ein:

sudo apt autoremove cuda* nvidia* --purge

Dieser Befehl verwendet die autoremove Merkmal der apt Befehl. Es entfernt Pakete, die automatisch installiert wurden, um Abhängigkeiten für andere Pakete zu erfüllen, aber nicht mehr benötigt werden. Der nvidia* Muster identifiziert alle Pakete, die mit 'nvidia' beginnen. Das --purge Option sagt apt um nicht nur die Pakete, sondern auch die zugehörigen Konfigurationsdateien zu entfernen.

Methode 2: Deinstallieren von über Runfile installierten NVIDIA-Treibern

Wenn Sie NVIDIA-Treiber mit einem .run Datei (im Allgemeinen nicht empfohlen, da es bessere Alternativen wie das NVIDIA CUDA-Repository gibt), ist für ihre Entfernung ein anderer Ansatz erforderlich.

Um den Runfile-Installationstyp zu entfernen, führen Sie den folgenden Befehl aus:

sudo /usr/bin/nvidia-uninstall

Dieser Befehl führt den nvidia-uninstall Skript, das mit der Runfile-Installation geliefert wird. Das Skript entfernt methodisch den NVIDIA-Treiber, der mit der Runfile installiert wurde.

Methode 3: Deinstallation des über Runfile installierten CUDA Toolkit

Wenn Sie das CUDA-Toolkit mithilfe einer Runfile installiert haben, müssen Sie diese unbedingt entfernen. Der Entfernungsprozess ähnelt dem der NVIDIA-Treiber. Um das CUDA-Toolkit zu entfernen, führen Sie den folgenden Befehl aus:

sudo /usr/local/cuda-X.Y/bin/cuda-uninstall

Ersetzen Sie im obigen Befehl X.Y mit der Versionsnummer Ihres installierten CUDA-Toolkits. Dieser Befehl führt das cuda-uninstall Skript, das in der Runfile-Installation des CUDA-Toolkits enthalten ist. Das Skript ist dafür konzipiert, das CUDA-Toolkit systematisch von Ihrem Debian-System zu entfernen.

Contrib- und Non-Free-Repositories aktivieren

Der erste Schritt besteht darin, die Repositories „contrib“ und „non-free“ zu Ihrer Liste der Debian-Repositories hinzuzufügen. Das Verfahren ist ab Debian 12 Bookworm unterschiedlich, daher ist es wichtig, den Befehl zu verwenden, der Ihrer spezifischen Version der Debian-Distribution entspricht.

Überprüfen Sie zunächst, ob Folgendes auf Ihrem Debian-System installiert ist:

sudo apt install software-properties-common -y

Bücherwurm und weiter:

sudo add-apt-repository contrib non-free-firmware

Bullseye und Buster nach unten:

sudo add-apt-repository contrib non-free

Bevor Sie fortfahren, führen Sie unbedingt ein schnelles APT-Update aus, um Ihren Paketindex zu aktualisieren:

sudo apt update

NVIDIA APT-Repository unter Debian hinzufügen

Die effizienteste Methode zur CUDA-Installation ist die direkte Installation über das NVIDIA CUDA-Repository. Mit diesem Ansatz wird sichergestellt, dass Benutzer zeitnahe Updates erhalten, darunter neue Funktionen, Fehlerbehebungen, Sicherheitspatches und Verbesserungen.

Vorbereiten des Debian-Systems vor der CUDA-Installation

Bevor Sie mit der Installation beginnen, müssen Sie Ihr Debian-System unbedingt richtig vorbereiten. Das bedeutet, dass Sie mehrere erforderliche Pakete installieren müssen. Auch wenn einige dieser Pakete bereits auf Ihrem System vorhanden sind, ist es ratsam, dies noch einmal zu überprüfen. Führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo apt install build-essential gcc dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y

Dieser Befehl installiert wichtige Pakete, die für die nachfolgenden Schritte von entscheidender Bedeutung sind. Darunter: dirmngr verwaltet Schlüssel, ca-certificates verwaltet SSL-Zertifikate, software-properties-common verwaltet Software-Repositories, apt-transport-https gewährleistet sichere Paket-Downloads, dkms verwaltet Kernelmodule und curl erleichtert das Herunterladen von Dateien aus dem Internet.

Authentifizieren der Installation mit dem NVIDIA Repository GPG-Schlüssel

Es ist wichtig, die Authentizität und Integrität von Softwarepaketen sicherzustellen. Wenn Sie den GPG-Schlüssel für Ihre spezifische Debian-Version importieren, überprüfen Sie die Authentizität der Repository-Pakete. Der Schlüssel signiert die Pakete und durch den Import teilen Sie Ihrem System mit, dass es diesen signierten Paketen vertrauen soll.

Bücherwurm, lauf:

curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1

Volltreffer, lauf:

curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1

Buster, verwenden Sie:

curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian10/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1

Integrieren des NVIDIA-Repository in Ihr Debian-System

Mit dem GPG-Schlüssel können Sie nun das NVIDIA-Repository zu Ihrem Debian-System hinzufügen. Dieses Repository enthält die erforderlichen Pakete für die CUDA-Installation.

Bücherwurm, Verwendung:

echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list

Volltreffer, Verwendung:

echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list

Buster, verwenden Sie:

echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian10/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list

Schritt 4: Aktualisieren der Paketliste

Nach dem Hinzufügen des NVIDIA-Repositorys ist es wichtig, die Paketliste Ihres Systems zu aktualisieren. Dadurch wird sichergestellt, dass Ihr System die neuen Pakete aus dem NVIDIA-Repository erkennt. Führen Sie zum Aktualisieren Folgendes aus:

sudo apt update

Installieren Sie CUDA mit NVIDIA-Treibern

Suche nach CUDA-Treibern

Sie können CUDA und die neuesten NVIDIA-Treiber installieren, sobald Sie die Voraussetzungen erfüllen. Wir empfehlen jedoch, die verfügbaren Treiberversionen mit dem APT-Befehl „show“ zu überprüfen, bevor Sie fortfahren:

apt show cuda-drivers -a

Dadurch wird eine Liste der verfügbaren Pakete für verschiedene NVIDIA-Treiberversionen ausgegeben.

Alternativ können Sie die verfügbare CUDA-Version auch mit dem Befehl „APT Policy“ bestätigen:

sudo apt policy cuda

Fahren Sie mit der Installation der Cuda-Treiber fort

Dieser Befehl zeigt die verfügbaren CUDA-Versionen an. Wählen Sie die Version aus, die Ihren Anforderungen am besten entspricht. Diese Anleitung zeigt, wie Sie die neueste verfügbare Version installieren.

Denken Sie daran, zu ersetzen 545 mit 535,530, 525, 520, 515, usw., je nach Ihrer Wahl.

sudo apt install nvidia-driver cuda-drivers-545 cuda

Schließen Sie die Installation ab und führen Sie einen Neustart durch

Starten Sie Ihr System nach Abschluss der Installation neu, um sicherzustellen, dass alle Änderungen wirksam werden:

sudo reboot

Dieser Schritt schließt die CUDA-Einrichtung auf Ihrem Debian-System ab und stellt sicher, dass Sie dessen Funktionen effektiv nutzen können.

Erste Schritte mit CUDA

Bewertung der GPU-Funktionen

Bevor Sie sich in die CUDA-Programmierung stürzen, ist es wichtig, die Fähigkeiten Ihrer GPU zu verstehen. Verschiedene GPUs unterstützen unterschiedliche CUDA-Versionen, jede mit einzigartigen Attributen wie der Anzahl der Kerne, Speichergrößen und mehr. Um detaillierte Informationen zu Ihrer GPU zu erhalten, verwenden Sie die nvidia-smi Befehl:

nvidia-smi

Dieser Befehl bietet Einblicke in verschiedene GPU-Attribute, wie etwa Name, Gesamtspeicher und unterstützte CUDA-Version.

Erstellen Ihres ersten CUDA-Programms

Zu Beginn entwickeln wir ein einfaches CUDA-Programm, kompilieren es und führen es aus, um sicherzustellen, dass alles richtig funktioniert. Beginnen Sie mit der Erstellung einer neuen Datei mit dem .cu Erweiterung, die bei CUDA-Programmen Standard ist. Sie können hierfür jeden beliebigen Texteditor verwenden:

nano helloworld.cu

Fügen Sie den folgenden Code in die Datei ein. Dieses unkomplizierte Programm zeigt eine „Hallo Welt!“-Nachricht von der GPU an:

#include <stdio.h>

__global__ void helloFromGPU (void) {
    printf("Hello World from GPU!\n");
}

int main(void) {
    printf("Hello World from CPU!\n");
    helloFromGPU <<<1, 10>>>();
    cudaDeviceReset();
    return 0;
}

Um dieses Programm zu kompilieren, verwenden Sie die nvcc Befehl, der für NVIDIA CUDA Compiler steht:

nvcc helloworld.cu -o helloworld

Führen Sie nun das kompilierte Programm aus:

./helloworld

Die Ausgabe sollte Folgendes anzeigen:

Hallo Welt von der CPU! Hallo Welt von der GPU!

Fortgeschrittene CUDA-Programmierung: Matrixmultiplikation

Um die Fähigkeiten von CUDA weiter zu demonstrieren, entwickeln wir ein Programm, das mit CUDA eine Matrixmultiplikation durchführt. Dies zeigt, wie CUDA hochparallele Aufgaben effizient bewältigen kann.

Beginnen Sie mit der Erstellung einer neuen Datei:

nano matrixmul.cu

Fügen Sie den folgenden Code in das matrixmul.cu Datei. Dieses Programm führt eine Matrixmultiplikation auf der GPU durch:

__global__ void gpu_matrix_mult(int *a,int *b, int *c, int m, int n, int k)
{ 
    // Calculate the row & column index of the element
    int row = blockIdx.y * blockDim.y + threadIdx.y; 
    int col = blockIdx.x * blockDim.x + threadIdx.x;

    int sum = 0;
    if( row < m && col < k ) 
    {
        for(int j = 0; j < n; j++) 
        {
            sum += a[row * n + j] * b[j * k + col];
        }
        // Each thread computes one element of the block sub-matrix
        c[row * k + col] = sum;
    }
} 

Kompilieren Sie das Programm mit dem nvcc Befehl:

nvcc matrixmul.cu -o matrixmul

Führen Sie dann das kompilierte Programm aus:

./matrixmul

Die Ausgabe stellt das Ergebnis der Matrixmultiplikation dar. Dieses Beispiel zeigt, wie CUDA parallele Aufgaben wie die Matrixmultiplikation effizient verarbeiten kann und dabei im Vergleich zur herkömmlichen CPU-Ausführung eine deutliche Leistungssteigerung bietet.

Abschluss

In dieser umfassenden Anleitung haben wir das CUDA Toolkit sorgfältig auf Debian 12 Bookworm, Debian 11 Bullseye und Debian 10 Buster installiert. Indem sie die beschriebenen Schritte befolgen, können Benutzer die Rechenleistung von NVIDIA-GPUs nutzen und so eine Fülle von Möglichkeiten für Hochleistungs-Computing-Aufgaben erschließen. Um Stabilität und optimale Leistung zu gewährleisten, muss sichergestellt werden, dass die Installation mit der jeweiligen Debian-Version übereinstimmt. Da sich die Technologie weiterentwickelt, ist es wichtig, über die neuesten Versionen und die offizielle Dokumentation auf dem Laufenden zu bleiben. Die offiziellen NVIDIA-Ressourcen und -Foren sind für diejenigen von unschätzbarem Wert, die tiefer in die Funktionen von CUDA eintauchen oder bestimmte Probleme beheben möchten.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

Hinterlasse einen Kommentar