Différences entre versions de « Cuda install »
Ligne 1 : | Ligne 1 : | ||
+ | = Introduction = | ||
+ | Compute Unified Device Architecture ou CUDA est un framework propriétaire de Nvidia pour faire du General-Purpose Computing on Graphics Processing Units ou GPGPU. C'est à dire, utiliser le GPU pour faire des calculs habituellement fait par le processeur (CPU). | ||
+ | |||
+ | Les GPU possèdent plus de cours que les CPU est sont très efficaces pour faire des calculs parallélisés. Cependant, les GPU ont un espace mémoire dédié qui est différent de celui du CPU (géré par la MMU) et il faudra généralement copier vos variables d'un espace à l'autre avant de faire des calculs. | ||
+ | |||
+ | Attention donc à faire des calculs suffisamment long pour contrebalancer le temps de copie des variables, autrement le programme perdrait plus de temps en copies mémoire qu'en calculs... | ||
+ | |||
+ | Plus d'informations sur CUDA [https://fr.wikipedia.org/wiki/Compute_Unified_Device_Architecture ici]. | ||
+ | |||
= Le dépôt Nvidia = | = Le dépôt Nvidia = | ||
Avant d'installer les pilotes, il faut installer les il faut ajouter le dépôt Nvidia: | Avant d'installer les pilotes, il faut installer les il faut ajouter le dépôt Nvidia: | ||
Ligne 8 : | Ligne 17 : | ||
# dnf -y install kernel-devel kernel-headers epel-release gcc gdb | # dnf -y install kernel-devel kernel-headers epel-release gcc gdb | ||
</pre> | </pre> | ||
+ | |||
= Installation du pilote = | = Installation du pilote = | ||
Vous pouvez maintenant lister les différentes versions avec ''dnf'': | Vous pouvez maintenant lister les différentes versions avec ''dnf'': |
Version du 24 mai 2021 à 15:50
Introduction
Compute Unified Device Architecture ou CUDA est un framework propriétaire de Nvidia pour faire du General-Purpose Computing on Graphics Processing Units ou GPGPU. C'est à dire, utiliser le GPU pour faire des calculs habituellement fait par le processeur (CPU).
Les GPU possèdent plus de cours que les CPU est sont très efficaces pour faire des calculs parallélisés. Cependant, les GPU ont un espace mémoire dédié qui est différent de celui du CPU (géré par la MMU) et il faudra généralement copier vos variables d'un espace à l'autre avant de faire des calculs.
Attention donc à faire des calculs suffisamment long pour contrebalancer le temps de copie des variables, autrement le programme perdrait plus de temps en copies mémoire qu'en calculs...
Plus d'informations sur CUDA ici.
Le dépôt Nvidia
Avant d'installer les pilotes, il faut installer les il faut ajouter le dépôt Nvidia:
# dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
Il faut également installer les sources du noyau, le dépôt EPEL ainsi que le compilateur C:
# dnf -y install kernel-devel kernel-headers epel-release gcc gdb
Installation du pilote
Vous pouvez maintenant lister les différentes versions avec dnf:
# dnf module list nvidia-driver Dernière vérification de l’expiration des métadonnées effectuée il y a 0:49:08 le jeu. 20 mai 2021 04:09:26 CEST. cuda-rhel8-x86_64 Name Stream Profiles Summary nvidia-driver latest default [d], fm, ks, src Nvidia driver for latest branch nvidia-driver latest-dkms [d][e] default [d] [i], fm, ks Nvidia driver for latest-dkms branch nvidia-driver 418 default [d], fm, ks, src Nvidia driver for 418 branch nvidia-driver 418-dkms default [d], fm, ks Nvidia driver for 418-dkms branch nvidia-driver 440 default [d], fm, ks, src Nvidia driver for 440 branch nvidia-driver 440-dkms default [d], fm, ks Nvidia driver for 440-dkms branch nvidia-driver 450 default [d], fm, ks, src Nvidia driver for 450 branch nvidia-driver 450-dkms default [d], fm, ks Nvidia driver for 450-dkms branch nvidia-driver 455 default [d], fm, ks, src Nvidia driver for 455 branch nvidia-driver 455-dkms default [d], fm, ks Nvidia driver for 455-dkms branch nvidia-driver 460 default [d], fm, ks, src Nvidia driver for 460 branch nvidia-driver 460-dkms default [d], fm, ks Nvidia driver for 460-dkms branch nvidia-driver 465 default [d], fm, ks, src Nvidia driver for 465 branch nvidia-driver 465-dkms default [d], fm, ks Nvidia driver for 465-dkms branch Aide : [d]éfaut, [e]activé, [x]désactivé, [i]nstallé
On peut installer la dernière version grâce à la commande suivante :
# dnf module install -y nvidia-driver:latest-dkms
Il faut maintenant redémarrer le système pour que le noyau charge le pilote Nvidia:
# reboot
Vérification
Après un redémarrage vous pouvez voir que la carte est reconnue en listant les périphériques:
# ll /dev/nvidia* crw-rw-rw-. 1 root root 195, 0 20 mai 04:31 /dev/nvidia0 crw-rw-rw-. 1 root root 195, 255 20 mai 04:31 /dev/nvidiactl crw-rw-rw-. 1 root root 195, 254 20 mai 04:31 /dev/nvidia-modeset crw-rw-rw-. 1 root root 238, 0 20 mai 04:32 /dev/nvidia-uvm crw-rw-rw-. 1 root root 238, 1 20 mai 04:32 /dev/nvidia-uvm-tools /dev/nvidia-caps: total 0 cr--------. 1 root root 242, 1 20 mai 04:31 nvidia-cap1 cr--r--r--. 1 root root 242, 2 20 mai 04:31 nvidia-cap2
Toutes les cartes seront listées avec un numéro nvidia0, nvidia1, etc...
On peut utiliser la commande nvidia-smi pour lister toutes les informations sur la carte:
# nvidia-smi -a ==============NVSMI LOG============== Timestamp : Thu May 20 05:04:16 2021 Driver Version : 465.19.01 CUDA Version : 11.3 Attached GPUs : 1 GPU 00000000:01:00.0 Product Name : NVIDIA GeForce GT 640 Product Brand : GeForce Display Mode : N/A Display Active : N/A Persistence Mode : Disabled MIG Mode ...
Ou un résumé:
# nvidia-smi Thu May 20 05:09:08 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 465.19.01 Driver Version: 465.19.01 CUDA Version: 11.3 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... Off | 00000000:01:00.0 N/A | N/A | | 40% 31C P0 N/A / N/A | 0MiB / 1999MiB | N/A Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
Comme on peut le voir ici, le serveur est équipé d'une carte GT 640:
Installation de CUDA
Choix de la version
Avant d'installer CUDA, il faut savoir quelle version est supportée par votre carte graphique. Malheureusement, Il n'y a pas de lien direct entre la version de CUDA et le modèle de carte graphique mais il faut regarder les capacités de calcul (Compute Capability) sur le site de Nvidia