Skip to main content

Installation de machine avec RT Kernel et accélération graphique

Que ce soit pour LeRobot, pour AICA, ou en général pour utiliser des modèles d'IA, l'installation de Linux avec les bons drivers graphiques n'est pas toujours aisé.

On veut accéder dans Docker aux capacités Compute d'un GPU, essentiellement fournie par NVidia Cuda. On différentiera l'installation d'un serveur qui n'a pas besoin de l'accélération graphique liée à l'affichage, ni de capacités temps-réel, contrairement à un PC de commande de robot.

Vérification de la compatibilité

On a une carte graphique donnée :

  • Vérification du Compute Capability https://developer.nvidia.com/cuda/gpus
  • Si on est dans cette liste, donc Compute Capability >= 7.5 c'est une bonne base
  • Si on n'y est pas, c'est qu'on a une carte Legacy, voir plus bas

Grâce à la compatibilité des versions mineures de Nvidia CUDA, une application d'IA compilée avec CUDA 11.8 peut être exécutée avec n'importe laquelle des version CUDA 11.x. Idem pour CUDA 12.x .

Par contre une application compilée avec cuDNN 8.x n'est pas compatible avec cuDNN 9.x .

PyTorch 2.3 et inférieur utilisent cuDNN 8.x

PyTorch 2.4 et supérieur utilisent cuDNN 9.x

Il faut donc choisir la version de Pytorch en fonction des versions de CUDA et cuDNN qui sont compatibles avec l'environnement d'exécution (carte graphique et driver)

https://docs.nvidia.com/deeplearning/cudnn/backend/latest/reference/support-matrix.html 

cuDNN>=v9.12.0 supporte :

  • CUDA 12.x (nvidia-driver>=525.60.13)
  • CUDA 13.x (nvidia-driver>=580.65.06)
  • CUDA CC>=7.5

cuDNN<=v9.11.1 

  • CUDA 12.x (nvidia-driver>=525.60.13)
  • CUDA CC>=5.0-9.0 (10.0-12.0 avec CUDA>=12.8 et nvidia-driver>=570.26)

cuDNN<=v9.10.2 : 

  • CUDA 12.x (nvidia-driver>=525.60.13) (12.8-9 pour >=570.26 et CC 10-12)
  • CUDA 11.x (nvidia-driver>=450.80.02)
  • CUDA CC>=5.0-9.0 (10.0-12.0 avec CUDA>=12.8 et nvidia-driver>=570.26)


On a une application d'IA donnée

Par exemple YOLO :

GPU NVidia anciens / Legacy

On a une carte graphique donnée | par exemple Quadro M620 (GM107GLM) :

  • Vérification du Compute Capability https://developer.nvidia.com/cuda/gpus/legacy | CC5.2
  • On conseille de laisser tomber l'IA avec des Compute Capability de 5.0 ou inférieur |
  • Si on a une Compute Capability entre 5.2 et 7.2 , on peut envisager des choses mais c'est compliqué
  • On vérifie la version de CUDA Max supportée : https://stackoverflow.com/questions/28932864/which-compute-capability-is-supported-by-which-cuda-versions  | pour CC5.2 : CUDA 12.x
  • On va donc pouvoir chercher une compatibilité d'exécution avec CUDA 12.x et CUDA 11.x , mais pas CUDA 13.x
  • Les nvidia-driver dispos sont 535-580 mais les cuda-drivers dispos sont 550-580
  • 535 est testé/recommandé
  • 580 est dispo
  • Avec CUDA 12.0-1 et le driver 535 on peut avoir v8.9.2<=cuDNN<=v9.11.1
  • Avec CUDA 12.2 v8.9.7<=cuDNN<=v9.11.1
  • Avec CUDA >=12.3 v9<=cuDNN<=v9.11.1
  • Donc il faudrait CUDA 12.0-2
  • mais sudo apt list cuda-toolkit* seuls CUDA 12.5-13.1 sont dispos

Option 1 : Driver Version: 535.288.01   CUDA Version: 12.2

  • On a v8.9.7<=cuDNN<=v9.11.1
  • Mais on n'a pas cuda-drivers

Option 2 : Driver Version: 580   CUDA Version: 

  • On n'a pas cuDNN v8
  • on a cuda-drivers-580

https://pytorch.org/get-started/previous-versions/

  • Avec pytorch 2.1.1 et 2.2.0 , c'est cuddn 8.9.2 qui est installé par défaut

pytorch <2.2.0 n'est plus supporté dans pip

https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-892/support-matrix/index.html 

cuDNN=v8.9.2 : 

  • CUDA 12.0-1 (nvidia-driver>=525.60.13)
  • CUDA 11.x (nvidia-driver>=450.80.02)
  • CUDA CC>=5.0 <=8.6 (8.9-9.0 avec CUDA>=11.8)
  • Avec pytorch ... c'est cuddn 8.9.7 qui est installé par défaut

https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-897/support-matrix/index.html 

cuDNN=v8.9.7 : 

  • CUDA 12.0-2 (nvidia-driver>=525.60.13)
  • CUDA 11.x (nvidia-driver>=450.80.02)
  • CUDA CC>=5.0 <=8.6 (8.9-9.0 avec CUDA>=11.8)

Voir aussi https://docs.nvidia.com/deeplearning/cudnn/archives/index.html 

Sources

https://stackoverflow.com/questions/30820513/what-is-the-correct-version-of-cuda-for-my-nvidia-driver/30820690#30820690