Existe-t-il une commande rapide ou un script pour vérifier la version de CUDA installée ?
J'ai trouvé le manuel de la version 4.0 dans le répertoire d'installation mais je ne suis pas sûr qu'il s'agisse de la version réellement installée ou non.
Existe-t-il une commande rapide ou un script pour vérifier la version de CUDA installée ?
J'ai trouvé le manuel de la version 4.0 dans le répertoire d'installation mais je ne suis pas sûr qu'il s'agisse de la version réellement installée ou non.
Comme le mentionne Jared dans un commentaire, à partir de la ligne de commande :
nvcc --version
(ou /usr/local/cuda/bin/nvcc --version
) donne la version du compilateur CUDA (qui correspond à la version de la boîte à outils).
Depuis le code de l'application, vous pouvez demander la version de l'API d'exécution avec
cudaRuntimeGetVersion()
ou la version de l'API du pilote avec
cudaDriverGetVersion()
Comme le souligne Daniel, deviceQuery est un exemple d'application SDK qui interroge les éléments ci-dessus, ainsi que les capacités du dispositif.
Comme d'autres l'ont fait remarquer, vous pouvez également vérifier le contenu de la rubrique version.txt
en utilisant (par exemple, sur Mac ou Linux)
cat /usr/local/cuda/version.txt
Cependant, si une autre version de la boîte à outils CUDA est installée, autre que celle liée par un lien symbolique à partir de /usr/local/cuda
ce qui peut signaler une version inexacte si une autre version est antérieure à la vôtre. PATH
que les précédentes, donc à utiliser avec précaution.
Nvcc --version devrait fonctionner à partir de l'invite de commande Windows en supposant que nvcc est dans votre chemin.
Sous Ubuntu, vous devrez peut-être installer nvidia-cuda-tools
pour que cette commande fonctionne, il suffit de taper sudo apt install nvidia-cuda-toolkit
@OlegKokorin, si vous obtenez ce conseil à partir du terminal, il semble que vous n'ayez pas installé CUDA.
[Réponse modifiée. Merci à tous ceux qui l'ont corrigée].
Si vous exécutez
nvidia-smi
Vous devriez trouver le Version CUDA version CUDA la plus élevée prise en charge par le pilote installé dans le coin supérieur droit de la sortie du comand. Au moins, j'ai trouvé cette sortie pour CUDA version 10.0, par exemple,
L'affichage de la version CUDA ne fonctionne que pour les versions de pilotes postérieures à 410.72. Et il affiche la version CUDA même si aucune CUDA n'est installée. Cette information n'a donc aucun sens actuellement. Référence : devtalk.nvidia.com/default/topic/1045528/
Cette réponse est incorrecte, elle indique seulement le support de la version CUDA du pilote. Il ne fournit aucune information sur la version de CUDA qui est installée ou même s'il y a CUDA installé du tout.
Sur Ubuntu Cuda V8 :
$ cat /usr/local/cuda/version.txt
Vous pouvez également obtenir des informations sur les versions de CUDA installées :
$ ls -l /usr/local | grep cuda
ce qui vous donnera quelque chose comme ceci :
lrwxrwxrwx 1 root root 9 Mar 5 2020 cuda -> cuda-10.2
drwxr-xr-x 16 root root 4096 Mar 5 2020 cuda-10.2
drwxr-xr-x 16 root root 4096 Mar 5 2020 cuda-8.0.61
Étant donné un PATH sain, la version cuda
doit être celui qui est actif (10.2 dans ce cas).
REMARQUE : Cela ne fonctionne que si vous êtes prêt à supposer que CUDA est installé sous /usr/local/cuda (ce qui est vrai pour l'installateur indépendant avec l'emplacement par défaut, mais pas vrai, par exemple, pour les distributions avec CUDA intégré comme un paquet). Réf : commentaire de @einpoklum.
Pour la version CUDA :
nvcc --version
Ou utiliser,
nvidia-smi
Pour la version cuDNN :
Pour Linux :
Utilisez ce qui suit pour trouver le chemin pour cuDNN :
$ whereis cuda
cuda: /usr/local/cuda
Ensuite, utilisez ceci pour obtenir la version du fichier d'en-tête,
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Pour Windows,
Utilisez ce qui suit pour trouver le chemin pour cuDNN :
C:\>where cudnn*
C:\Program Files\cuDNN7\cuda\bin\cudnn64_7.dll
Puis utilisez ceci pour vider la version du fichier d'en-tête,
type "%PROGRAMFILES%\cuDNN7\cuda\include\cudnn.h" | findstr CUDNN_MAJOR
Si vous obtenez deux versions différentes pour CUDA sous Windows - Différentes versions de CUDA montrées par nvcc et NVIDIA-smi
D'autres répondants ont déjà décrit les commandes qui peuvent être utilisées pour vérifier la version de CUDA. Ici, je vais décrire comment transformer la sortie de ces commandes en une variable d'environnement de la forme "10.2", "11.0", etc.
Pour résumer, vous pouvez utiliser
nvcc --version
pour connaître la version de CUDA. Je pense que cela devrait être votre premier port d'appel. Si vous avez plusieurs versions de CUDA installées, cette commande devrait afficher la version de la copie la plus élevée dans votre PATH.
Le résultat ressemble à ceci :
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0
Nous pouvons faire passer cette sortie par sed pour ne retenir que le numéro de version MAJOR.MINOR.
CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p')
Si nvcc n'est pas dans votre chemin, vous devriez pouvoir le lancer en spécifiant le chemin complet vers l'emplacement par défaut de nvcc à la place.
/usr/local/cuda/bin/nvcc --version
La sortie est la même que ci-dessus, et peut être analysée de la même manière.
Vous pouvez également trouver la version CUDA dans le fichier version.txt.
cat /usr/local/cuda/version.txt
Dont la sortie
CUDA Version 10.1.243
peut être analysé avec sed pour ne retenir que le numéro de version MAJOR.MINOR.
CUDA_VERSION=$(cat /usr/local/cuda/version.txt | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/')
Notez que parfois le fichier version.txt fait référence à une installation CUDA différente de celle de l'installation CUDA. nvcc --version
. Dans ce scénario, la version de nvcc devrait être la version que vous utilisez réellement.
Nous pouvons combiner ces trois méthodes ensemble afin d'obtenir de manière robuste la version CUDA comme suit :
if nvcc --version 2&> /dev/null; then
# Determine CUDA version using default nvcc binary
CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p');
elif /usr/local/cuda/bin/nvcc --version 2&> /dev/null; then
# Determine CUDA version using /usr/local/cuda/bin/nvcc binary
CUDA_VERSION=$(/usr/local/cuda/bin/nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p');
elif [ -f "/usr/local/cuda/version.txt" ]; then
# Determine CUDA version using /usr/local/cuda/version.txt file
CUDA_VERSION=$(cat /usr/local/cuda/version.txt | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/')
else
CUDA_VERSION=""
fi
Cette variable d'environnement est utile pour les installations en aval, par exemple lorsque pip installe une copie de pytorch qui a été compilée pour la bonne version de CUDA.
python -m pip install \
"torch==1.9.0+cu${CUDA_VERSION/./}" \
"torchvision==0.10.0+cu${CUDA_VERSION/./}" \
-f https://download.pytorch.org/whl/torch_stable.html
De même, vous pouvez installer la version CPU de pytorch lorsque CUDA n'est pas installé.
if [ "$CUDA_VERSION" = "" ]; then
MOD="+cpu";
echo "Warning: Installing CPU-only version of pytorch"
else
MOD="+cu${CUDA_VERSION/./}";
echo "Installing pytorch with $MOD"
fi
python -m pip install \
"torch==1.9.0${MOD}" \
"torchvision==0.10.0${MOD}" \
-f https://download.pytorch.org/whl/torch_stable.html
Mais soyez prudent avec cela car vous pouvez accidentellement installer une version uniquement pour le CPU alors que vous vouliez avoir le support du GPU. Par exemple, si vous exécutez l'install script sur le nœud de connexion d'un serveur qui n'a pas de GPU et que vos travaux seront déployés sur des nœuds qui ont des GPU. Dans ce cas, le nœud de connexion n'aura généralement pas CUDA installé.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
4 votes
Voir aussi : Comment vérifier l'installation de CuDNN ?
7 votes
Quel est le système d'exploitation visé par cette question ?
0 votes
Pensez-vous au runtime installé et supporté ou au SDK installé ?
19 votes
@JaredHoberock
nvcc --version
produireThe program 'nvcc' is currently not installed. You can install it by typing: sudo apt install nvidia-cuda-toolkit
cependantnvidia-smi
contiennentCUDA Version: 10.1
.4 votes
Mais
cat /usr/local/cuda/version.txt
donne une version plus préciseCUDA Version 10.1.168
0 votes
Veuillez rechercher conda si vous souhaitez que la question soit traitée dans ce contexte.
0 votes
Si vous recherchez les chiffres de la version actuelle sous la forme d'une chaîne, sous unix, vous pouvez utiliser un mélange de
nvidia-smi
pour obtenir la version,grep
pour identifier la ligne, etsed
pour supprimer les caractères inutiles :nvidia-smi | grep -o 'CUDA Version: [0-9].\.[0-9]' | sed 's/.*: //'