free memory가 많은데 할당 못하는 문제

안녕하세요!
cuda 메모리 할당 관련해서 질문 드립니다.

아래와 같이 free memory가 매우 많은데도 파이토치가 메모리 할당을 못하고 메모리 부족으로 죽어버리는데 혹시 해결방법이 어떻게 될까요?

CUDA out of memory. Tried to allocate 678.00 MiB (GPU 0; 47.99 GiB total capacity; 13.73 GiB already allocated; 30.59 GiB free; 14.52 GiB reserved in total by PyTorch)

제가 사용하는 프로그램 버전들 입니다.
python 3.8.5
pytorch 1.10.2
cuda 11.3
cudnn 8.0

30기가가 남는데 할당을 못하니… 너무 답답하네요

좋아요 1

안녕하세요 @outersky 님.

질문주셨던 것을 놓치고 답변이 없었네요ㅠ

말씀해주신 것과 같이 메모리가 충분히 남아있음에도 할당을 못하는 문제가 종종 발생하는 것 같습니다.

일반적으로는 배치 크기를 줄이거나 네트워크의 가중치 수를 줄이는 등의 방법으로 해결이 되는 것 같지만,
그렇지 않은 경우 시도해보실 수 있는 방법들을 아래 정리하였으니 참고 부탁드립니다.

혹시 문제가 해결되셨다면 결과 공유 부탁드립니다. :slight_smile: