RuntimeError: CUDA 알 수 없는 오류 - 환경 변수 CUDA_VISIBLE_DEVICES 변경과 같은 잘못된 환경 설정으로 인해 발생할 수 있습니다.

RuntimeError: CUDA 알 수 없는 오류 - 환경 변수 CUDA_VISIBLE_DEVICES 변경과 같은 잘못된 환경 설정으로 인해 발생할 수 있습니다.

GPU 장치 이름을 확인하려고 하는데 이 코드를 실행한 후입니다. 알 수 없는 런타임 오류가 발생합니다. 이 문제를 해결하도록 도와주시고 이 오류를 해결하기 위한 전체 지침을 제공해 주시기 바랍니다. 감사해요.

(base) kumar@kumar:~$ conda activate pytorch
        (pytorch) kumar@kumar:~$ python
        Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
        [GCC 7.3.0] :: Anaconda, Inc. on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import torch
        >>> print(torch.__version__)
        1.9.0a0+gitb39eeb0
        >>> print(torch.version.cuda)
        11.2
        >>> print(torch.cuda.current_device())
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
          File "/home/kumar/anaconda3/envs/pytorch/lib/python3.8/site-packages/torch/cuda/__init__.py", line 430, in current_device
            _lazy_init()
          File "/home/kumar/anaconda3/envs/pytorch/lib/python3.8/site-packages/torch/cuda/__init__.py", line 170, in _lazy_init
            torch._C._cuda_init()
        RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.
        >>> exit()

이것이 출력이다nvcc -V

(pytorch) kumar@kumar:~$ nvcc -V nvcc: NVIDIA (R) Cuda 컴파일러 드라이버 저작권 (c) 2005-2021 NVIDIA Corporation Build on Sun_Feb_14_21:12:58_PST_2021 Cuda 컴파일 도구, 버전 11.2, V11.2.152 Build cuda_11. 2.r11.2/compiler.29618528_0 (pytorch) kumar@kumar:~$

이것이 출력이다nvidia-smi

Thu Apr  8 15:04:49 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.67       Driver Version: 460.39       CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr: Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 3070    Off  | 00000000:01:00.0  On |                  N/A |
|  0%   38C    P8    10W / 220W |    525MiB /  7982MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1015      G   /usr/lib/xorg/Xorg                 70MiB |
|    0   N/A  N/A      1542      G   /usr/lib/xorg/Xorg                257MiB |
|    0   N/A  N/A      1675      G   /usr/bin/gnome-shell               89MiB |
|    0   N/A  N/A      3560      G   ...AAAAAAAAA= --shared-files       94MiB |
+-----------------------------------------------------------------------------+

그러나 이 코드를 실행하려고 하면 다음과 같습니다.

print(torch.cuda.current_device())

다음 오류가 발생합니다.

Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
              File "/home/kumar/anaconda3/envs/pytorch/lib/python3.8/site-packages/torch/cuda/__init__.py", line 430, in current_device
                _lazy_init()
              File "/home/kumar/anaconda3/envs/pytorch/lib/python3.8/site-packages/torch/cuda/__init__.py", line 170, in _lazy_init
                torch._C._cuda_init()
            RuntimeError: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero.

관련 정보