nvidia-smi
sudo nvidia-docker version
sudo docker run -d -it \
--runtime=nvidia -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=1,2 \
--name container-name image-name \
nvidia-smi
# CUDA 10.1
pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
import torch, gc
gc.collect()
torch.cuda.empty_cache()
PyTorch 메모리 할당 속도를 높이기 위해 caching memory allocater를 사용해서 장치간 동기화 없이 빠른 메모리 해제가 가능하다.
관리되지 않는 메모리는 nvidia-smi에서 여전히 사용되는 것처럼 보일 수 있다.
memory_allocated()와 max_memory_allocated()를 사용해서 모니터링할 수도 있고
empty_cache()를 통해 사용하지 않으면서 캐시된 메모리들을 해제할 수 있다.
하지만 텐서에 의해 할당된 것은 해제 되지 않기에 주의.
포스팅 보고 문제 해결 했습니다~ 좋은 글 감사용!