Bonjour,

Rencontrez-vous un problème de compatibilité CUDA ? Et essayez-vous de résoudre ce problème ? Eh bien, peut-être que ce message est fait pour vous. Aujourd'hui, je vais partager mon expérience sur la façon dont j'ai résolu mon problème d'installation de CUDA/GPU + Tensorflow + Python sur ma machine Linux, Ubuntu 20.04. J'ai essayé et cherché sur Internet. J'ai ma carte NVIDIA installée sur ma machine. Donc, si je vérifie ma carte graphique en utilisant la commande « lspci », je vois que mon pilote NVIDIA est correctement installé

 

abdusy@troiz:~$ lspci | grep VGA

06:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1)

 

Et pour vérifier que tout ce qui est lié à NVidia et CUDA, je vérifie avec la commande "nvidia-smi".

 

Mais, lorsque je vérifie mon TensorFlow avec le script ci-dessous:

 

import tensorflow as tf

print("Tensorflow version:", tf.__version__)

# Check if GPU is available

if tf.config.list_physical_devices('GPU'):

  print('CUDA is available! Using GPU for TensorFlow.')

else:

  print('CUDA is not available. Using CPU for TensorFlow.')

 

il affiche  “CUDA is not available”.

Tensorflow version: 2.10.0 CUDA is not available. Using CPU for TensorFlow.


Cependant, lorsque j'utilise une autre bibliothèque, PyTorch, et que je vérifie avec ce script ci-dessous :

import torch print("Torch version:",torch.__version__)

# Check if CUDA is available

if torch.cuda.is_available():

# Set the default device to GPU

  device = torch.device('cuda')

  print('CUDA is available! Using GPU for computations.')

else:

 # Set the default device to CPU

 device = torch.device('cpu')

 print('CUDA is not available. Using CPU for computations.')

 

et il indique: 

Torch version: 2.0.1+cu117 CUDA is available! Using GPU for computations.

 

Cela signifie donc que j'ai un problème de compatibilité CUDA sur ma machine.

 

SOLUTION

Comment résoudre ce problème.

Si vous lisez attentivement ce site web (https://docs.nvidia.com/deploy/cuda-compatibility/index.html) sur la compatibilité CUDA, vous trouverez toutes les informations qui décrivent tout sur CUDA.

Alors, comment résoudre ce problème ? Eh bien, tout d'abord, j'ai pensé à utiliser Docker qui est déjà intégré. Juste pour simplifier les choses. Parce que j'aime tout ce qui est simple :).

Ensuite, j'ai trouvé ce site web (https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tensorflow) qui propose des conteneurs TensorFlow avec des outils et des bibliothèques complètes dans une architecture flexible permettant un déploiement facile sur différentes plates-formes et appareils.

Donc, vous les gars, il vous suffit d'exécuter cette commande :

 

nvidia-docker run -it --rm nvcr.io/nvidia/tensorflow:xx.xx-tfx-py3

 

Dans mon cas, j'utilise la commande “nvidia-docker run -it –rm nvcr.io/nvidia/tensorflow:22.01-tf2-py3”,

car j'utilise TensorFlow v2 et Python 3.9.

 

Une fois que vous avez terminé de cloner ce docker, vous pouvez l'exécuter avec cette commande. Dans mon cas, j'exécute une commande comme celle-ci :

 

docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/tensorflow:xx.xx-tfx-py3

 

Dans mon cas, j'exécute une commande comme celle-ci : “docker run –network host –gpus all -it –rm -v /home/abdusy:/workspace/my_ml nvcr.io/nvidia/tensorflow:22.01-tf2-py3”.

Cela est dû au fait que je souhaite utiliser mon réseau hôte, ma carte graphique et mes documents à partir de ce docker.

Voilà...!

 

Regardez la vidéo sur Youtube : https://youtu.be/RwXTQTMFi0g

 

Colmar, 6 juillet 2023