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.
9 jours plus tard