현재 최신 CUDA는 10.1이고, 10.0을 쓰기 시작한지도 꽤 되었습니다만, 여전히 Ubuntu 18.04 ppc64le 환경에서 CUDA 9.2를 설치해야 하는 경우가 있습니다.
NVIDIA 홈페이지에서 CUDA 9.2를 download 받아보면 이건 Ubuntu 16.04에서 지원된다고 되어 있습니다만, 실제로 설치해보면 Ubuntu 18.04에서도 문제없이 잘 설치됩니다.
그런데, 생각하지 않은 문제가 발생하는 경우가 있습니다. 정상적으로 CUDA 9.2가 설치되었고 nvidia-persistenced도 제대로 구동되고 있는데, 아래와 같이 nvidia-smi에서 UNKNOWN ERROR가 뜨는 것입니다.
$ nvidia-smi
Wed Jun 19 21:13:35 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.104 Driver Version: 410.104 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla V100-SXM2... On | 00000004:04:00.0 Off | 0 |
| N/A 37C P0 39W / 300W | UNKNOWN ERROR | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla V100-SXM2... On | 00000004:05:00.0 Off | 0 |
| N/A 39C P0 39W / 300W | UNKNOWN ERROR | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 Tesla V100-SXM2... On | 00000035:03:00.0 Off | 0 |
| N/A 35C P0 38W / 300W | UNKNOWN ERROR | 0% Default |
+-------------------------------+----------------------+----------------------+
| 3 Tesla V100-SXM2... On | 00000035:04:00.0 Off | 0 |
| N/A 40C P0 38W / 300W | UNKNOWN ERROR | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
이건 Ubuntu 16.04 위의 CUDA 9.2에서 nvidia-persistenced를 구동하던 방법이 (이유는 잘 모르겠으나) Ubuntu 18.04 위의 CUDA 9.2에서는 제대로 작동하지 않기 때문입니다. 해결책은 다음과 같이 /lib/systemd/system/nvidia-persistenced.service에서 nvidia-persistenced의 시작 옵션을 바꾸어 주시면 됩니다.
$ sudo vi /lib/systemd/system/nvidia-persistenced.service
...
ExecStart=/usr/bin/nvidia-persistenced --verbose
...
이렇게 한 뒤 nvidia-persistenced를 restart 하고 다시 nvidia-smi를 해보시면 아래와 같이 잘 되는 것을 보실 수 있습니다.
$ nvidia-smi
Wed Jun 19 21:21:13 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.104 Driver Version: 410.104 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla V100-SXM2... On | 00000004:04:00.0 Off | 0 |
| N/A 37C P0 39W / 300W | 0MiB / 16128MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla V100-SXM2... On | 00000004:05:00.0 Off | 0 |
| N/A 39C P0 39W / 300W | 0MiB / 16128MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 Tesla V100-SXM2... On | 00000035:03:00.0 Off | 0 |
| N/A 35C P0 38W / 300W | 0MiB / 16128MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 3 Tesla V100-SXM2... On | 00000035:04:00.0 Off | 0 |
| N/A 40C P0 38W / 300W | 0MiB / 16128MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+