2017년 9월 27일 수요일

[펌]선택한 GPU에만 메모리할당하기

문제: GPU가 여러 개 인경우, 코드가 특정 GPU만 활용하도록 하는 방법

해결:
<참조: http://dongjinlee.tistory.com/73>
참조: https://stackoverflow.com/questions/37893755/tensorflow-set-cuda-visible-devices-within-jupyter)

memory fragmentation으로 기본적으로 모든 GPU를 활용함.
이를 해결하기위해서는 해당코드는 원하는 GPU만 보이게 한다.

즉, terminal에서는 코드 앞에 CUDA_VISIBLE_DEVICE=GPUID를 붙여주고,
python code에서는 다음과 같이 한다.
import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"]="0"