Comment installer la boîte à outils CUDA sur Debian 12, 11 ou 10

CUDA, ou Compute Unified Device Architecture, de NVIDIA, est un outil puissant pour le calcul parallèle. Il utilise des unités de traitement graphique (GPU) NVIDIA pour augmenter la vitesse des tâches informatiques. Ce guide vous montrera comment installer CUDA sur Debian 12 Bookworm, Debian 11 Bullseye et Debian 10 Buster. Nous utiliserons le référentiel APT de NVIDIA pour chaque version de Debian afin de garantir que tout fonctionne correctement.

Ce qui distingue la boîte à outils CUDA :

  • Traitement parallèle : CUDA permet à votre logiciel d'exécuter de nombreuses tâches simultanément sur les GPU NVIDIA. C’est idéal pour les travaux qui nécessitent beaucoup de puissance de calcul.
  • Prise en charge de nombreuses langues : Vous pouvez utiliser CUDA avec des langages de programmation comme C, C++ et Fortran. Il fonctionne également avec d'autres outils informatiques comme OpenCL et DirectCompute.
  • Outils de développement complets : NVIDIA offre aux développeurs un ensemble complet d'outils avec Nsight Eclipse Edition. Il aide à créer, déboguer et améliorer les applications CUDA.
  • Bibliothèques prêtes à l'emploi : CUDA a ses bibliothèques pour les tâches GPU. Les exemples incluent cuBLAS pour les opérations mathématiques et cuFFT pour l'analyse des données.
  • Conception prête pour l’avenir : CUDA est conçu pour fonctionner avec les GPU NVIDIA nouveaux et à venir. Cela signifie que votre logiciel peut s’améliorer sans modifier beaucoup votre code.

Avant d'installer CUDA sur Debian :

  • Vérifiez votre système : Assurez-vous que le matériel et les logiciels de votre ordinateur sont prêts pour CUDA. NVIDIA propose une liste de GPU et de besoins système que vous pouvez vérifier.
  • Utilisez la bonne source : Ce guide se concentre sur le référentiel APT de NVIDIA pour Debian. C'est le meilleur moyen d'obtenir une version stable et fonctionnelle de CUDA pour votre système Debian.
  • Restez à jour : C'est une bonne idée de rechercher des mises à jour de temps en temps. NVIDIA propose souvent de nouvelles fonctionnalités et correctifs pour améliorer CUDA.

Pour conclure cette introduction, comprendre et utiliser CUDA sur Debian peut considérablement améliorer vos applications. Au fur et à mesure que nous avançons, nous approfondirons le processus d'installation et les meilleures pratiques pour tirer le meilleur parti de la boîte à outils CUDA de NVIDIA sur votre système Debian.

Effacement des installations CUDA et NVIDIA existantes (situationnel)

Avant d'installer les pilotes NVIDIA ou d'envisager des mises à niveau de version sur Debian, il est crucial de commencer par une table rase. Cela signifie supprimer toutes les installations NVIDIA existantes de votre système Debian. Cette étape garantit que vous évitez les problèmes potentiels résultant d’installations qui se chevauchent. Si vous êtes nouveau dans l'installation de pilotes NVIDIA, vous pouvez ignorer cette section et passer à la suivante.

Méthode 1 : désinstallation des packages NVIDIA installés via APT

Si vous avez déjà utilisé le gestionnaire de packages APT pour installer les pilotes NVIDIA, vous pouvez utiliser une seule commande pour supprimer tous les packages liés à NVIDIA. Cette action supprimera effectivement NVIDIA de votre système. Entrez la commande suivante dans votre terminal :

sudo apt autoremove cuda* nvidia* --purge

Cette commande utilise le autoremove caractéristique du apt commande. Il supprime les packages qui ont été automatiquement installés pour satisfaire les dépendances d'autres packages mais qui ne sont plus nécessaires. Le nvidia* Le modèle identifie tous les packages commençant par « nvidia ». Le --purge l'option indique apt pour supprimer non seulement les packages mais également leurs fichiers de configuration associés.

Méthode 2 : désinstallation des pilotes NVIDIA installés via Runfile

Si vous avez installé les pilotes NVIDIA à l'aide d'un .run (généralement déconseillé en raison de meilleures alternatives comme le référentiel NVIDIA CUDA), une approche différente est nécessaire pour sa suppression.

Pour supprimer le type d'installation runfile, exécutez la commande suivante :

sudo /usr/bin/nvidia-uninstall

Cette commande exécute le nvidia-uninstall script fourni avec l'installation du fichier runfile. Le script supprime méthodiquement le pilote NVIDIA installé à l'aide du fichier d'exécution.

Méthode 3 : Désinstallation de CUDA Toolkit installé via Runfile

Si vous avez installé la boîte à outils CUDA à l'aide d'un fichier d'exécution, il est également essentiel de le supprimer. Le processus de suppression est similaire à celui des pilotes NVIDIA. Pour supprimer la boîte à outils CUDA, exécutez la commande suivante :

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

Dans la commande ci-dessus, remplacez X.Y avec le numéro de version de votre boîte à outils CUDA installée. Cette commande exécute le cuda-uninstall script, qui est inclus dans l'installation runfile de la boîte à outils CUDA. Le script est conçu pour supprimer méthodiquement la boîte à outils CUDA de votre système Debian.

Activer les dépôts Contrib et non gratuits

La première étape consiste à ajouter les dépôts « contrib » et « non-free » à votre liste de dépôts Debian. La procédure varie à partir de Debian 12 Bookworm, il est donc crucial d'utiliser la commande qui correspond à votre version spécifique de la distribution Debian.

Tout d'abord, vérifiez que les éléments suivants sont installés sur votre système Debian :

sudo apt install software-properties-common -y

Rat de bibliothèque et au-delà :

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

Bullseye et Buster vers le bas :

sudo add-apt-repository contrib non-free

Avant de continuer, assurez-vous d'exécuter une mise à jour rapide d'APT pour actualiser l'index de votre package :

sudo apt update

Ajouter le référentiel NVIDIA APT sur Debian

La méthode la plus efficace pour l'installation de CUDA consiste à utiliser directement le référentiel NVIDIA CUDA. Cette approche garantit que les utilisateurs reçoivent des mises à jour en temps opportun, notamment de nouvelles fonctionnalités, des corrections de bogues, des correctifs de sécurité et des améliorations.

Préparer le système Debian avant l'installation de CUDA

Avant de commencer le processus d'installation, il est crucial de préparer correctement votre système Debian. Cela signifie que vous devrez installer plusieurs packages prérequis. Même si certains de ces packages sont déjà sur votre système, il est sage de revérifier. Exécutez la commande suivante dans votre terminal :

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

Cette commande installe les packages essentiels qui seront cruciaux pour les étapes suivantes. Parmi eux, dirmngr gère les clés, ca-certificates gère les certificats SSL, software-properties-common gère les référentiels de logiciels, apt-transport-https assure des téléchargements sécurisés de packages, dkms gère les modules du noyau, et curl facilite les téléchargements de fichiers depuis Internet.

Authentification de l'installation avec la clé GPG du référentiel NVIDIA

Il est crucial de garantir l’authenticité et l’intégrité des progiciels. Lors de l'importation de la clé GPG pour votre version Debian spécifique, vous vérifiez l'authenticité des packages du référentiel. La clé signe les packages et, en les important, vous indiquez à votre système de faire confiance à ces packages signés.

Rat de bibliothèque, exécutez :

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

Bullseye, exécutez :

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, utilisez :

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

Intégration du référentiel NVIDIA dans votre système Debian

Avec la clé GPG, vous pouvez désormais ajouter le référentiel NVIDIA à votre système Debian. Ce référentiel contient les packages nécessaires à l'installation de CUDA.

Rat de bibliothèque, utilisez :

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

Bullseye, utilisez :

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, utilisez :

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

Étape 4 : Actualisation de la liste des packages

Après avoir ajouté le référentiel NVIDIA, la mise à jour de la liste des packages de votre système est vitale. Cela garantit que votre système reconnaît les nouveaux packages du référentiel NVIDIA. Pour mettre à jour, exécutez :

sudo apt update

Installez CUDA avec les pilotes NVIDIA

Rechercher des pilotes CUDA

Vous pouvez installer CUDA et les derniers pilotes NVIDIA une fois que vous disposez des prérequis. Cependant, nous vous recommandons de vérifier les versions de pilotes disponibles à l'aide de la commande APT show avant de continuer :

apt show cuda-drivers -a

Cela affichera une liste des packages disponibles pour différentes versions de pilotes NVIDIA.

Alternativement, vous pouvez également confirmer la version CUDA disponible à l'aide de la commande APT Policy :

sudo apt policy cuda

Procéder à l'installation des pilotes Cuda

Cette commande affichera les versions CUDA disponibles. Sélectionnez la version qui correspond le mieux à vos besoins. Ce guide montrera comment installer la dernière version disponible.

N'oubliez pas de remplacer 545 avec 535,530, 525, 520, 515, etc., en fonction de votre choix.

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

Terminez l'installation et redémarrez

Une fois l'installation terminée, redémarrez votre système pour vous assurer que toutes les modifications prennent effet :

sudo reboot

Cette étape finalise la configuration de CUDA sur votre système Debian, vous garantissant ainsi de pouvoir exploiter efficacement ses capacités.

Premiers pas avec CUDA

Évaluation des capacités du GPU

Avant de vous lancer dans la programmation CUDA, il est essentiel de comprendre les capacités de votre GPU. Différents GPU prennent en charge différentes versions de CUDA, chacune avec des attributs uniques tels que le nombre de cœurs, la taille de la mémoire, etc. Pour obtenir des informations détaillées sur votre GPU, utilisez le nvidia-smi commande:

nvidia-smi

Cette commande fournit des informations sur divers attributs du GPU, tels que son nom, sa mémoire totale et la version CUDA prise en charge.

Créer votre premier programme CUDA

Pour commencer, nous allons développer un programme CUDA de base, le compiler et l'exécuter pour garantir que tout fonctionne correctement. Commencez par créer un nouveau fichier avec le .cu extension, qui est standard pour les programmes CUDA. Vous pouvez utiliser n'importe quel éditeur de texte pour cela :

nano helloworld.cu

Insérez le code suivant dans le fichier. Ce programme simple affiche un message « Hello, World ! » message du GPU :

#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;
}

Pour compiler ce programme, utilisez le nvcc commande, qui signifie NVIDIA CUDA Compiler :

nvcc helloworld.cu -o helloworld

Maintenant, exécutez le programme compilé :

./helloworld

La sortie doit afficher ce qui suit :

Bonjour tout le monde depuis le CPU ! Bonjour tout le monde du GPU !

Programmation CUDA avancée : multiplication matricielle

Pour démontrer davantage les capacités de CUDA, développons un programme qui effectue une multiplication matricielle à l'aide de CUDA. Cela montrera comment CUDA peut gérer efficacement des tâches hautement parallèles.

Commencez par créer un nouveau fichier :

nano matrixmul.cu

Insérez le code suivant dans le matrixmul.cu déposer. Ce programme effectue une multiplication matricielle sur le GPU :

__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;
    }
} 

Compilez le programme à l'aide du nvcc commande:

nvcc matrixmul.cu -o matrixmul

Ensuite, exécutez le programme compilé :

./matrixmul

La sortie présentera le résultat de l’opération de multiplication matricielle. Cet exemple illustre comment CUDA peut gérer efficacement des tâches parallèles telles que la multiplication matricielle, offrant une amélioration significative des performances par rapport à l'exécution CPU traditionnelle.

Conclusion

Dans ce guide complet, nous avons méticuleusement installé la boîte à outils CUDA sur Debian 12 Bookworm, Debian 11 Bullseye et Debian 10 Buster. En suivant les étapes décrites, les utilisateurs peuvent exploiter la puissance de calcul des GPU NVIDIA, ouvrant ainsi un champ de possibilités pour les tâches de calcul hautes performances. S'assurer que l'installation s'aligne sur la version spécifique de Debian est essentiel pour garantir la stabilité et des performances optimales. Rester à jour avec les dernières versions et la documentation officielle est crucial à mesure que la technologie évolue. Les ressources et forums officiels de NVIDIA sont inestimables pour ceux qui cherchent à approfondir les capacités de CUDA ou à résoudre des problèmes spécifiques.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire