5
votes

Erreur d'exécution 999 lors de la tentative d'utilisation de cuda avec pytorch

J'ai installé Cuda 10.1 et le dernier pilote Nvidia pour ma Geforce 2080 ti. J'essaie d'exécuter un script de base pour tester si pytorch fonctionne et j'obtiens l'erreur suivante:

RuntimeError: cuda runtime error (999) : unknown error at ..\aten\src\THC\THCGeneral.cpp:50

Voici le code que j'essaie d'exécuter:

import torch
torch.cuda.current_device()
torch.cuda.is_available()
torch.cuda.get_device_name(0)


13 commentaires

Quelle torch.__version__ ?


torche version 1.3.0


Pouvez-vous exécuter nvidia-smi avec succès? Cette configuration devrait fonctionner. BTW, pour être complet, pouvez-vous fournir la version du pilote (vous pouvez l'obtenir à partir de nvidia-smi )?


J'ai ouvert cmd en tant qu'administrateur et exécuté nvidia-smi.J'ai reçu un message disant qu'il a échoué car il ne pouvait pas communiquer avec le pilote nvidia. J'ai déjà mis à jour le pilote le plus récent 440.97. En ouvrant le gestionnaire de périphériques, j'ai trouvé ceci: Windows a arrêté cet appareil car il a signalé des problèmes. (Code 43)


Réinstaller le pilote Nvidia maintenant.


pytorch n'utilise pas le système cuda, il installe sa propre version localement. Assurez-vous d'installer la version correcte à l'aide de la commande sur le site Web de pytorch. Pour voir la version utilisée avec votre installation actuelle, vous pouvez imprimer les résultats de torch.version.cuda dans votre environnement actuel.


@jodag cela n'est vrai que si vous installez en utilisant conda, n'est-ce pas? Si cela est également vrai pour les autres méthodes d'installation, pouvez-vous fournir une référence?


@Berriel Aussi vrai pour pip. Au moins sur Linux, je peux vérifier que c'est vrai. J'imagine que c'est probablement également vrai pour Windows. Le résultat de torch.version.cuda devrait nous en dire plus.


@jodag intéressant ... J'ai toujours pensé que seule l'installation basée sur conda expédierait son propre CUDA, mais apparemment pas .


Pour moi, cette erreur se produit lorsque mon ordinateur portable est passé en mode veille auparavant. Le redémarrage a résolu le problème.


Si quelqu'un est intéressé, j'ai également eu cette erreur dans Windows et j'ai obtenu la même sortie de nvidia-smi. J'avais installé CUDA 10.2 avec son pilote correspondant et ce pilote ne fonctionnait pas correctement. La réinstallation du dernier pilote nvidia (441.41) a résolu ce problème pour moi.


J'ai également vu cette erreur en utilisant Ubuntu 18.04 avec la version du pilote: 440.44 Version CUDA: 10.2 dans une installation Conda de PyTorch APRÈS que mon ordinateur portable soit sorti de veille. Compte tenu de mon RTX 2070 (ordinateur portable) + Linux, le site Web de NVidia ne me propose pas la version 441.41 du pilote.


Je dois ajouter que nvidia-smi fonctionne toujours bien et il semble que Chrome utilise toujours le pilote pour le rendu.


4 Réponses :


7
votes

Le redémarrage de mon ordinateur a résolu ce problème pour moi.

Mais pour une solution moins invasive, vous pouvez également essayer cette solution (à partir d'un thread de problème tensorflow ):

sudo rmmod nvidia_uvm
sudo rmmod nvidia
sudo modprobe nvidia
sudo modprobe nvidia_uvm


2 commentaires

Comment résoudre ce problème sur Windows, une idée?


Cela ne fonctionne pas pour moi car rmmod nvidia donne l'erreur suivante: rmmod: ERROR: Module nvidia is in use by: nvidia_modeset



1
votes

Dans mon cas, j'ai résolu l'erreur 999 avec: nvidia-modprobe -u


2 commentaires

Cela ne fonctionne pas pour moi car ce n'est pas une commande connue ...


J'ai installé nvidia-modprobe utilisant apt-get install et votre solution a fonctionné. Merci beaucoup!!



0
votes

Dans le cas de PyTorch, il semble suffisant de ne redémarrer que nvidia-uvm (Unified Virtual Memory) avec

sudo modprobe --remove nvidia-uvm  # same as `rmmod`
sudo modprobe nvidia-uvm

Si cela ne fonctionne pas, continuez et redémarrez tout le module avec modprobe (--remove) nvidia supplémentaire modprobe (--remove) nvidia comme mentionné dans la réponse de @ matwilso .


1 commentaires

Merci! Bien que cela devrait être modprobe (il manque un e).



0
votes

La réinstallation du pilote NVIDIA résout ce problème dans mon cas. (Vous n'avez pas besoin de redémarrer l'ordinateur)


0 commentaires