Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora 30 est mort ce soir

#1 03/08/2017 13:16:18

GuL
Membre
Lieu : Essonne, France
Inscription : 12/05/2016
Messages : 141

[Tutoriel] Installation de Nvidia CUDA 8.0 sous Fedora 25

Bonjour, voici un petit tutoriel pour installer Nvidia Cuda sous Fedora 25. Si quelqu'un peut le tester et mettre à jour la page https://doc.fedora-fr.org/wiki/Cuda, ce serait super. Merci

Introduction
CUDA signifie Compute Unified Device Architecture. Cette technologie est disponible sur toutes les cartes graphiques Nvidia, aussi appelées Graphic Processing Units (GPU), depuis 2006. Elle permet d'effectuer des calculs hautement parallélisés sur la carte graphique et ainsi de gagner considérablement en temps de calcul. Elle peut-être utilisée au sein d'applications telles que le traitement d'image (Blender), ou bien le calcul distribué (Boinc). Jean-Michel Richer en a écrit une présentation très intéressante, en français.

Pré-requis
Disposer d'une carte graphique nvidia compatible. La liste est disponible sur le site de nvidia et pour les plus anciennes
A noter que les cartes disposant d'une compute capability<2.0, telle que la GTX 260, ne pourront pas utiliser les drivers au-delà de la série 340.xx, et seront donc limités à CUDA 6.5.

Voici la liste des drivers nécessaires en fonction des versions de CUDA.
CUDA 8.0: 367.4x
CUDA 7.5: 352.xx
CUDA 7.0: 346.xx
CUDA 6.5: 340.xx
CUDA 6.0: 331.xx
CUDA 5.5: 319.xx
CUDA 5.0: 304.xx
CUDA 4.2: 295.41
CUDA 4.1: 285.05.33
CUDA 4.0: 270.41.19
CUDA 3.2: 260.19.26
CUDA 3.1: 256.40
CUDA 3.0: 195.36.15

Un autre pré-requis est l'installation des outils de développements.

dnf group install "Outils de développement et bibliothèques pour C"

Installation du driver nvidia et de CUDA
Les drivers sont disponibles dans le dépôt rpmfusion-nonfree.

dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
    https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

CUDA 8.0 est disponible dans le dépôt de nvidia pour Fedora 23. Un patch est nécessaire.

dnf install cuda-repo-fedora23-8-0-local-ga2-8.0.61-1.x86_64.rpm cuda-repo-fedora23-8-0-local-cublas-performance-update-8.0.61-1.x86_64.rpm

On peut ensuite installer CUDA et les drivers.

dnf install akmod-nvidia cuda

Pour que les bibliothèques CUDA soient reconnues, il peut être nécessaire d'ajouter les fichiers suivants (à vérifier).

echo 'PATH=/usr/local/cuda/bin:$PATH' > /etc/profile.d/cuda.sh
echo '/usr/local/cuda-8.0/targets/x86_64-linux/lib' > /etc/ld.so.conf.d/cuda-8-0.conf
echo '/usr/local/cuda-8.0/nvvm/lib64/' >> /etc/ld.so.conf.d/cuda-8-0.conf

Installation de gcc 5.4.0
La versions système de gcc ne permet pas de compiler les exemples fournis par Nvidia. Il est donc nécessaire d'installer une version antérieure. C'est un peu long, mais ça va bien se passer. La procédure est basée sur un article de Solarian Programmer. D'une manière générale, il est conseillé de compiler en tant qu'utilisateur limité et non en tant qu'administrateur.

On commence par récupérer la bonne version de gcc et la décompresser :

mkdir ~/gcc-5.4.0 && cd ~/gcc-5.4.0
wget ftp://ftp.lip6.fr/pub/gcc/releases/gcc-5.4.0/
tar -xvf gcc-5.4.0.tar.bz2
mv gcc-5.4.0 src && cd src

On peut ensuite faire les étapes préliminaires à la compilation. On ne choisit de compiler que les langages c, c++ et fortran. On ajoute également un préfixe pour préciser l'emplacement et un suffixe pour différencier gcc de la version système.

contrib/download_prerequisites
mkdir ../build && cd ../build
../src/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-5.4 \
    --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-5.4

Arrive ensuite la compilation à proprement parler. L'option -j 4 permet d'utiliser 4 threads simultanées pour compiler (à ajuster selon votre processeur). Cette opération est longue et dure 30 minutes chez moi sur un Xeon de 2010 avec 12 cœurs.

make -j 4

Pour installer gcc après l'avoir compilé, il est nécessaire d'être administrateur. On notera l'absence de "-" après su, qui changerait le répertoire.

su
make install

Pour finir, il ne reste qu'à mettre des liens symboliques dans le répertoire de CUDA et à le préciser au compilateur
Edit : j'ai modifié cette partie pour éviter que gcc-5.4 devienne le compilateur par défaut du système

mkdir /usr/local/cuda-8.0/bin/gcc && cd /usr/local/cuda-8.0/bin/gcc
ln -s /usr/local/gcc-5.4/bin/gcc-5.4 gcc
ln -s /usr/local/gcc-5.4/bin/cpp-5.4 cpp
ln -s /usr/local/gcc-5.4/bin/g++-5.4 g++
echo "compiler-bindir = /usr/local/cuda-8.0/bin/gcc" >> /usr/local/cuda-8.0/bin/nvcc.profile

Test de CUDA
Cette fois, pour effectuer la compilation, il est nécessaire d'être administrateur, sinon vous n'aurez pas les droits d'accès dans le répertoire.

Un premier test permet de vérifier la bande passante des cartes graphiques :

cd /usr/local/cuda-8.0/samples/1_Utilities/bandwidthTest/
make -j 4
./bandwidthTest --device=all

Un autre test graphique est assez sympathique :

cd /usr/local/cuda-8.0/samples/5_Simulations/fluidsGL
make -j 4
./fluidsGL

N'hésitez pas à me signaler tout problème ou point à améliorer.

Dernière modification par GuL (04/08/2017 15:45:59)


L'expérience est le nom que chacun donne à ses erreurs -- Oscar Wilde

Hors ligne

#2 12/08/2017 23:53:38

GuL
Membre
Lieu : Essonne, France
Inscription : 12/05/2016
Messages : 141

Re : [Tutoriel] Installation de Nvidia CUDA 8.0 sous Fedora 25

Up !
Quelqu'un a-t-il pu tester ? Si un rédacteur passe par ici, aurait-il le courage de mettre à jour la page https://doc.fedora-fr.org/wiki/Cuda
Merci de vos retours


L'expérience est le nom que chacun donne à ses erreurs -- Oscar Wilde

Hors ligne

Pied de page des forums