Comment puis-je vider la mémoire du GPU en utilisant CUDA (la réinitialisation physique n'est pas disponible)
Mon CUDA programme s'est écrasé lors de l'exécution, avant que la mémoire a été rincé. En conséquence, la mémoire de l'appareil est resté occupé.
Je suis en cours d'exécution sur une GTX 580, pour qui nvidia-smi --gpu-reset
n'est pas pris en charge.
Placer cudaDeviceReset()
dans le début de ce programme est seulement une incidence sur le contexte actuel créé par le processus et ne permet pas d'évacuer la mémoire allouée avant.
Je suis de l'accès à une Fedora server avec ce GPU à distance, afin de réinitialisation physique est assez compliqué.
Donc, la question est - Est-il un moyen de vider la mémoire de l'appareil dans cette situation?
source d'informationauteur timdim
Vous devez vous connecter pour publier un commentaire.
Bien qu'il devrait être inutile de le faire dans rien d'autre que des circonstances exceptionnelles, la méthode recommandée pour ce faire sur linux hosts est de décharger le pilote nvidia en faisant
adapté avec les privilèges de root, puis de le recharger avec
Si la machine est sous X11, vous devez arrêter manuellement à l'avance, et de le redémarrer par la suite. Le pilote d'intialisation processus devrait éliminer tout avant d'état sur l'appareil.
Cette réponse a été assemblé à partir des commentaires et affichée comme une communauté wiki pour obtenir ce hors de question réponse à la liste pour le CUDA de la balise
vérifier ce qui est de l'utilisation de votre mémoire GPU avec
Votre sortie devrait ressembler à quelque chose comme ceci:
Puis tuer le PID que vous n'avez plus besoin sur
htop
ou avecDans l'exemple ci-dessus, Pycharm était en train de manger une grande quantité de mémoire, j'ai donc tué 20450 et 20699.
J'ai également eu le même problème, et j'ai vu une bonne solution dans quora, à l'aide de
voir https://www.quora.com/How-do-I-kill-all-the-computer-processes-shown-in-nvidia-smi
sur macOS (/OS X), si quelqu'un d'autre est d'avoir de la difficulté avec l'OS apparemment une fuite de mémoire: