NOTE: Si une ou plusieurs versions de CUDA ont été installées par d'autres moyens, supprimez les avant de suivre ce guide.
D'après Wikipedia:
CUDA is a parallel computing platform and application programming interface model created by Nvidia.
Chaque driver graphique Nvidia est compilé avec une version de CUDA spécifique, elle n'a d'utilité que pour l'affichage et n'est pas utilisée (et utilisable) par les différents frameworks de Machine Learning. Ces derniers utilisent l'installation de cuda présente dans le dossier /usr/local.
En effet, chaque version de CUDA installée a son propre dossier sous /usr/local comme suit:
/usr/local/
cuda-10.0/
cuda-10.1/
cuda-9.0/
cuda-8.0/
etc...
Ce qui détermine l'installation en cours est le lien symbolique /usr/local/cuda pointant vers l'un des dossiers ci-dessus.
Par exemple, une machine installée avec CUDA 10.0 aura au minimum dans le dossier /usr/local/:
/usr/local/
cuda -> /usr/local/cuda-10.0/
cuda-10.0/
Pour passer d'une installation à l'autre, la commande suivante peut être utile (ici pour passer à la version 10.1):
sudo ln -fsdn /usr/local/cuda-10.1 /usr/local/cudaLa manière la plus simple pour installer CUDA et bénéficier des mises à jour est d'utiliser apt en ajoutant le dépôt officiel aux sources (ici Ubuntu 16.04):
sudo echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/cuda.listAjouter la clé (ici Ubuntu 16.04):
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pubMettre ensuite à jour les dépôts:
sudo apt updateInstaller CUDA (ici version 10.0):
sudo apt install cuda-10-0La librairie CUDNN est nécessaire pour le machine learning, elle est téléchargeable sur le site de Nvidia, un compte développeur est nécessaire.
- Choisir le téléchargement
cuDNN Library for Linux, la librairie sera téléchargée sous la forme d'une archive. Attention aux versions, chaque version de CUDA a sa propre version de CUDNN. - Décompresser l'archive.
- Copier le contenu de
cuda/lib64vers/usr/local/cuda-xx.x/lib64 - Copier le contenu de
cuda/includevers/usr/local/cuda-xx.x/include
La librairie est installée.