Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Comment résoudre les problèmes de communication entre le GPU NVIDIA et le pilote GPU dans Amazon EC2 ?
Mon type d’instance Amazon Elastic Compute Cloud (Amazon EC2) est GPU. Cependant, je n'arrive pas à communiquer avec le GPU NVIDIA ou les pilotes GPU.
Résolution
Les messages d'erreur suivants peuvent s'afficher en fonction de la commande ou de l'outil que vous utilisez pour communiquer avec le GPU ou les pilotes du GPU.
Pour nvidia-smi, le message d'erreur suivant s'affiche :
"NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running."
Pour jax.devices (), le message d'erreur suivant s'affiche dans le terminal :
"WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.) [CpuDevice(id=0)]"
Généralement, vous recevez les messages d'erreur précédents en raison de problèmes de compatibilité entre votre matériel, vos pilotes et vos bibliothèques. Pour utiliser des types d'instance avec des GPU, vous devez installer les pilotes du GPU et les bibliothèques associées sur votre système d'exploitation. De plus, les outils et bibliothèques qui communiquent avec le GPU et les pilotes du GPU doivent être compatibles avec le GPU.
Pour vérifier si vous avez reçu une erreur jax.devices(), exécutez les commandes suivantes :
python import jax jax.devices()
Exemple de sortie :
$ python Python 3.9.22 (main, Apr 29 2025, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-5)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import jax >>> jax.devices() WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.) [CpuDevice(id=0)]
Vérifier que votre AMI prend en charge le type d'instance que vous avez utilisé
Il est recommandé d'utiliser les AMI AWS Deep Learning (DLAMI) pour les pilotes de GPU NVDIA. Consultez les notes de version du DLAMI que vous souhaitez utiliser pour vous assurer que ce dernier est compatible avec votre configuration.
Remarque : Les pilotes NVIDIA comportent deux types de DLAMI qui utilisent des pilotes propriétaires ou open source. Chaque DLAMI prend en charge des types d'instance spécifiques.
Vérifier que vous avez installé la bibliothèque compatible CUDA
Si vous avez essayé d'exécuter jax.devices () et qu'une erreur s'est produite, cela signifie que vous n'avez peut-être pas installé la bibliothèque JAX compatible CUDA.
Pour vérifier si vous avez installé la bibliothèque, exécutez la commande suivante :
pip list|grep jax
Exemple de sortie :
$ pip list|grep jax jax 0.4.30 jaxlib 0.4.30
Si les bibliothèques compatibles CUDA ne figurent pas dans la sortie de la commande, exécutez la commande suivante pour installer la bibliothèque JAX :
pip install -U "jax[cuda12]"
Remarque : Remplacez jax[cuda12] par votre version de CUDA.
Puis, réexécutez la commande pip list pour vérifier que vous avez correctement installé la bibliothèque.
Exemple de sortie :
$ pip list|grep jax jax 0.4.30 jax-cuda12-pjrt 0.4.30 jax-cuda12-plugin 0.4.30 jaxlib 0.4.30
Vérifiez que les versions de CUDA dans "nvcc --version" et "nvidia-smi" sont identiques
Exécutez la commande suivante :
nvcc --version
Exemple de sortie :
$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Wed_Apr_17_19:19:55_PDT_2024 Cuda compilation tools, release 12.5, V12.5.40 Build cuda_12.5.r12.5/compiler.34177558_0
Puis, exécutez la commande suivante :
nvidia-smi
Exemple de sortie :
$ nvidia-smi Mon Apr 21 10:52:36 2025 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+
Comparez les versions de CUDA dans les sorties des commandes. Dans l'exemple précédent, le problème s'est produit car vous ne pouvez utiliser CUDA version 12.2 ou antérieure que dans le pilote NVIDIA : 535,183,01. Cependant, la configuration utilise la version 12.5 de CUDA.
Pour résoudre le problème, exécutez les commandes suivantes en fonction de votre système d'exploitation pour désinstaller CUDA 12.5 et installer CUDA 12.2.
Amazon Linux 2023 (AL2023), Red Hat Enterprise Linux (RHEL) 8 ou RHEL 9 :
sudo dnf remove cuda-toolkit-12-5 sudo dnf install cuda-toolkit-12-2
Amazon Linux 2 (AL2) ou RHEL 7 :
sudo yum remove cuda-toolkit-12-5 sudo yum install cuda-toolkit-12-2
Ubuntu :
sudo apt remove cuda-toolkit-12-5 sudo apt install cuda-toolkit-12-2
Après avoir installé CUDA 12.2, exécutez la commande suivante pour vérifier que vous pouvez utiliser jax.devices () pour communiquer avec le GPU :
import jax jax.devices() [cuda(id=0)]
Pour éviter les problèmes de compatibilité du GPU, il est recommandé d'utiliser des DLAMI avec des pilotes NVIDIA optimisés, une boîte à outils CUDA configurée ainsi qu’un support et une compatibilité améliorés.
(Facultatif) Mettre à niveau votre noyau et votre pilote
Important : Lorsque vous utilisez une Amazon Machine Image (AMI) compatible, il n’est pas nécessaire d’installer manuellement les pilotes NVIDIA car ils sont déjà installés sur l'AMI.
Il n'est pas recommandé de mettre à jour la version de votre noyau pour maintenir la compatibilité avec la version du pilote et du package installés. Toutefois, si vous devez mettre à jour la version de votre noyau en raison d'un correctif de sécurité, exécutez les commandes suivantes pour mettre à jour le noyau :
sudo dnf versionlock delete kernel* sudo dnf update -y
Remarque : Les exemples de commandes précédents concernent l'AMI AWS Deep Learning Base (Amazon Linux 2023).
Pour installer ou mettre à jour manuellement les pilotes NVIDIA, consultez la section Options d'installation.
Vérifier que la communication fonctionne comme prévu
Pour vérifier que votre instance peut communiquer avec le GPU, exécutez l'une des commandes suivantes :
nvidia-smi
-ou-
import jax jax.devices()
Exemples de sortie :
$ nvidia-smi Wed May 21 11:04:43 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 570.133.20 Driver Version: 570.133.20 CUDA Version: 12.8 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA A10G On | 00000000:00:1E.0 Off | 0 | | 0% 32C P8 10W / 300W | 0MiB / 23028MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
>>> import jax >>> jax.devices() [cuda(id=0)]
Informations connexes
- Sujets
- Compute
- Balises
- Amazon EC2Linux
- Langue
- Français

Contenus pertinents
- demandé il y a 3 ans
- demandé il y a un an
- demandé il y a 3 ans
- demandé il y a 2 ans
- demandé il y a 2 ans