본문 바로가기

B/Deep Learning

cuda: device-side assert triggered gpu 구동 Error 잡기

gpu로 pytorch 코드를 돌리려고 하면 가끔 이유 모를 에러가 뜬다..

에러명이 device-side assert triggered인데 에러를 잡을 길이 안보였다.

특히 이게 모델 코드 문제인지, 아니면 gpu 내부 연산 문제인지를 모르니까 더 답답했다.

 

1. device 설정 바꾸기

기본적으로 해당 에러는 CUDA에서 발생한 에러이기 때문에,

 GPU기반이 아니라 CPU기반으로 코드를 돌려보면 은근 쉽게 해답이 나올 수 있다.

보통 device에 torch.device를 'cuda:0' 으로 할당할 텐데 이를 'cpu'로 바꾸고 코드를 돌려보자.

이러면 좀 더 정확하고 구체적인 오류가 뜰수도..! (반대로 오류가 아예 안잡힐 수도 있음)

 

2. 이렇게 돌렸을때 아래 포스팅으로부터 구체적인 오류를 해결해나갈 수 있었다.

[참고]

https://qlsenddl-lab.tistory.com/39

 

에러 해결: RuntimeError: CUDA error: device-side assert triggered

 해당 에러는 구글링해서 알아보니 다양한 원인에 의해서 발생하는 것 같다. 해당 에러가 발생하는 하나의 예시 및 그에 대한 해결로 보면 좋겠다. 우선 나의 경우, Pytorch에서 BCE Loss로 Autoencoder

qlsenddl-lab.tistory.com

 

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

 

이유를 알 수 없는 GPU 에러 정리(device-side assert, CUDA error, CUDNN_STATUS_NOT_INITIALIZED 등등…)

 

brstar96.github.io