envs

GPU CUDA Cudnn 오류, 에러 모음..

제이스핀 2021. 6. 18. 12:55
반응형

 

이유를 알 수 없다.. 차라리 명확한 에러가 났으면 좋겠다.. 정말 끔찍하다...

디버깅과 테스트를 거치면서 여러 해결 방안을 찾을때마다 모아두려고 한다..

해결 될수도, 안될수도... ㅠㅠ

 

· RuntimeError: CUDA out of memory

GPU 메모리가 부족해서 생기는 에러.

$ nvidia-smi -l 1

을 통해 모델을 돌릴 때 실시간으로 GPU 메모리가 어떻게 변하는지 확인해보고

배치 사이즈를 줄이던지 등의 해결을 봐야한다.

 

· cuDNN error: CUDNN_status_mapping_error

torch.backends.cudnn.enabled = False

위 코드를 추가해주었을 때, 해결이 되었다는 의견이 다수 있었다.

 

 

· cuDNN error: CUDNN_STATUS_EXECUTION_ERROR

· cuDNN error: CUDNN_STATUS_EXECUTION_FAILED

- GPU로 돌리는 경우 parameter들이 cuda로 잘 할당 되었는지 확인해보자 ( .device() )

- 배치사이즈를 줄였을 때 해결되었다는 의견도 있었다.

- CUDA 버전이 잘 안 맞아서 생기는 경우도 있다.

  본인의 그래픽카드에 맞는 그래픽 드라이버, 그에 맞는 CUDA 버전, Pytorch 버전을 잘 확인해보자

 

 

· CUDA error: device-side assert triggered

구글링 해보니 보통 input 데이터의 값의 오류로 생기는 듯 하다. 

클래스의 인덱스값에 대한 처리 과정이라던지, Loss function에 -1혹은 255 값을 전달해주고 잘못 처리할 때 라던지..

(coco class index가 80까지 있는데 91로 처리했다던지..)

필자의 경우 input image값이 Data Augmentation 등의 처리 과정을 거치면서 잘못된 값이 들어가서 에러가 났었다.

(잘못된 값에 의해 Loss가 팍 튈 수도 있음)

 

혹은 Annotation이 잘못되거나 없는 데이터에 할당되어 Loss가 튀는 경우도 있다. 데이터 불러오는 부분을 체크해보자.

 

쨋든 GPU 자체 문제보다는 값에 어떤 잘못된 부분이 있는지 세세하게 디버깅 해보면 해결될 수도 있다.

무책임해 보이지만 정말 어디서 날 지 모르는 에러이다.. 🤬

 

 

· RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

- 대게 메모리 이슈, 배치사이즈를 줄여보자

- num_workers 를 줄여서 해결되는 경우도 있다.

- CUDA 버전이 잘 안 맞아서 생기는 경우도 있다.

  본인의 그래픽카드에 맞는 그래픽 드라이버, 그에 맞는 CUDA 버전, Pytorch 버전을 잘 확인해보자

 

https://kyumdoctor.tistory.com/68

 

Nvidia gpu와 driver 그리고 CUDA의 호환성

Nvidia gpu와 driver 그리고 CUDA의 호환성 보통 내가 아는 주변에는 nvidia driver를 설치할 때 늘 사용하던 version을 설치하고는 한다. driver는 물론이고 cuda 역시 특정 version이 없다면 이 또한 편하게 설..

kyumdoctor.tistory.com

 

 

· couldn't communicate with the NVIDIA driver ...

$ nvidia-smi

잘 작동하던 그래픽 카드가, 위 명령어 입력 시 갑자기 이러는 경우가 있다.

아무것도 안했는데 갑자기 이러면 당황스럽다.

필자의 경우 그냥 드라이버 재설치를 해주었을 때 해결되는 경우가 많았다.

 

// 설치했었던 드라이버 버전 확인 및 제거

$ apt --installed list | grep nvidia-driver

$ sudo apt remove nvidia-driver-[설치된 버전]

$ sudo apt autoremove

// 자동으로 설치되게끔

$ sudo ubuntu-drivers autoinstall 

// 재부팅 후 driver=nvidia 인지 확인

sudo lshw -c display

 

 

 

 

참고

https://brstar96.github.io/shoveling/device_error_summary/

반응형