je vais avoir cette erreur lorsque j'utilise le gestionnaire de charge de travail slurm (http://slurm.schedmd.com/). Quand j'exécute des scripts python tensorflow, il y a parfois une erreur (attachée). Il semble qu'il ne peut pas trouver la bibliothèque de cuda installée mais j'exécute des manuscrits qui n'exigent pas des GPUs. Par conséquent, je trouve très déroutant pourquoi cuda serait un problème du tout. Pourquoi l'installation de cuda est-elle un problème si je n'en ai pas besoin?Pourquoi les jobs dans slurm se figent-ils indéfiniment lorsqu'ils sont des scripts TensorFlow?
La seule information utile que je suis arrivé à partir du fichier slurm-job_id était la suivante:
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:102] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH: /cm/shared/openmind/cuda/7.5/lib64:/cm/shared/openmind/cuda/7.5/lib
I tensorflow/stream_executor/cuda/cuda_dnn.cc:2092] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
E tensorflow/stream_executor/cuda/cuda_driver.cc:491] failed call to cuInit: CUDA_ERROR_NO_DEVICE
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:153] retrieving CUDA diagnostic information for host: node047
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:160] hostname: node047
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:185] libcuda reported version is: Not found: was unable to find libcuda.so DSO loaded into this program
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:347] driver version file contents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module 352.63 Sat Nov 7 21:25:42 PST 2015
GCC version: gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
"""
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:189] kernel reported version is: 352.63.0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:81] No GPU devices available on machine.
J'ai toujours pensé que tensorflow aurait pas besoin de GPU. Donc, je suppose que la dernière erreur indiquant qu'il n'y a pas de GPU ne provoque PAS l'erreur (corrigez-moi si je me trompe).
Je ne comprends pas pourquoi je dois la bibliothèque CUDA. J'essaye d'exécuter mes travaux avec le GPU, pourquoi aurais-je besoin de la bibliothèque de cuda si mes travaux sont des travaux de CPU?
J'ai essayé la connexion au noeud directement et à partir tensorflow mais je m'y suis pas d'erreur apparente:
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:102] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH: /cm/shared/openmind/cuda/7.5/lib64:/cm/shared/openmind/cuda/7.5/lib
I tensorflow/stream_executor/cuda/cuda_dnn.cc:2092] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
si je pensais l'erreur:
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:102] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH: /cm/shared/openmind/cuda/7.5/lib64:/cm/shared/openmind/cuda/7.5/lib
I tensorflow/stream_executor/cuda/cuda_dnn.cc:2092] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
E tensorflow/stream_executor/cuda/cuda_driver.cc:491] failed call to cuInit: CUDA_ERROR_NO_DEVICE
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:153] retrieving CUDA diagnostic information for host: node047
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:160] hostname: node047
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:185] libcuda reported version is: Not found: was unable to find libcuda.so DSO loaded into this program
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:347] driver version file contents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module 352.63 Sat Nov 7 21:25:42 PST 2015
GCC version: gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
"""
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:189] kernel reported version is: 352.63.0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:81] No GPU devices available on machine.
J'ai aussi fait un problème git officiel dans la bibliothèque tensorflow:
https://github.com/tensorflow/tensorflow/issues/3632
En réponse à la question "Pourquoi est-ce possible?": Tensorflow de l'environnement slurm ne peut pas trouver libcuda.so: 'la version rapportée de libcuda est: introuvable: n'a pas pu trouver libcuda.so' –
@RobertCrovella donc l'erreur n'est pas dû à 'la version rapportée de libcuda est: Non trouvé: n'a pas pu trouver libcuda.so' J'ai toujours pensé que s'il ne pouvait pas trouver un GPU il ne l'utiliserait pas et cela n'aurait pas d'importance. –
fait un problème git officiel pour voir si quelqu'un peut m'aider avec ce problème: https://github.com/tensorflow/tensorflow/issues/3632 –