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