Я на машине с 4 графическими процессорами, и мой дисплей управляется GPU3. Я пытаюсь запустить мой код CUDA на GPU0, но он не работает (через PyTorch):
RuntimeError: cuda runtime error (999) : unknown error at ../aten/src/THC/THCGeneral.cpp:50
Перед этим в предыдущем запуске было сказано, что «все устройства с поддержкой CUDA заняты или недоступны». nvidia-smi
подтверждает для меня, что на самом деле у меня ничего не работает на GPU0:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.87.01 Driver Version: 418.87.01 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 208... Off | 00000000:09:00.0 Off | N/A |
| 27% 34C P8 18W / 250W | 1MiB / 10989MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce RTX 208... Off | 00000000:0A:00.0 Off | N/A |
| 27% 37C P8 25W / 250W | 1MiB / 10989MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 GeForce RTX 208... Off | 00000000:43:00.0 Off | N/A |
| 27% 37C P8 17W / 250W | 1MiB / 10989MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 3 GeForce RTX 208... Off | 00000000:44:00.0 On | N/A |
| 27% 39C P0 56W / 250W | 388MiB / 10981MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 3 3196 G /usr/lib/xorg/Xorg 163MiB |
| 3 3537 G kwin_x11 75MiB |
| 3 3541 G /usr/bin/krunner 19MiB |
| 3 3543 G /usr/bin/plasmashell 61MiB |
| 3 3794 G /usr/bin/akonadi_archivemail_agent 6MiB |
| 3 3809 G /usr/bin/akonadi_mailfilter_agent 6MiB |
| 3 3814 G /usr/bin/akonadi_sendlater_agent 6MiB |
| 3 9138 G ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files 46MiB |
+-----------------------------------------------------------------------------+
Я немного погуглил и попытался сбросить состояние GPU на случай, если его просто перепутали, используя:
$ sudo nvidia-smi -i 0 -r
GPU 00000000:09:00.0 is currently in use by another process.
1 device is currently being used by one or more other processes (e.g., Fabric Manager, CUDA application, graphics application such as an X server, or a monitoring application such as another instance of nvidia-smi). Please first kill all processes using this device and all compute applications running in the system.
Как я могу узнать, какой процесс выполняет это, или если это просто запутанное состояние графического процессора, как я могу каким-то образом принудительно выполнить сброс, чтобы продолжить обучение?
В GPU0 нет ничего особенного, как в GPU1, так и в GPU2 ведет себя одинаково (не может использоваться для обучения и не может быть сброшен). Кроме того, перезагрузка работает, чтобы восстановить нормальное поведение, но я ищу решение без перезагрузки.