[WINDOWS10 환경] GPU 사용하기 - CUDA 11.0
사전 작업
- gpu 사용하기에 앞서 아직 설치를 하지 못했다면 다음 글을 참고하면 된다.
- [WINDOWS10 환경] 딥러닝을 위한 텐서플로우(tensorflow) GPU 설치 방법 : https://ingu627.github.io/tips/install_cuda/ (CUDA 11.0으로 바꿈)
nvidia-smi
명령은 사용 가능한 GPU 카드와 함께 각 카드에서 실행 중인 프로세스를 보여준다.
텐서플로가 GPU를 잘 인식하는지 확인
import tensorflow as tf
print(tf.test.is_gpu_available())
print(tf.test.gpu_device_name())
print(tf.config.experimental.list_physical_devices(device_type='GPU'))
if tf.config.experimental.list_physical_devices("GPU"):
with tf.device("gpu:0"):
print("GPU 사용 가능")
v = tf.Variable(tf.random.normal([1000, 1000]))
v = None # v는 더이상 GPU 메모리를 사용하지 않음
장치 할당 로깅
import tensorflow as tf
tf.debugging.set_log_device_placement(True)
GPU 메모리 제한하기
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
# 텐서플로가 첫 번째 GPU만 사용하도록 제한
try:
tf.config.experimental.set_visible_devices(gpus[0], 'GPU')
except RuntimeError as e:
# 프로그램 시작시에 접근 가능한 장치가 설정되어야만 합니다
print(e)
텐서플로가 필요할 때만 메모리를 점유하게 만드는 코드
for gpu in tf.config.experimental.list_physical_devices("GPU"):
tf.config.experimental.set_memory_growth(gpu, True)
특정 GPU에 2048GB 메모리만 할당하도록 제한
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
# 특정 GPU에 2048GB 메모리만 할당하도록 제한
try:
tf.config.experimental.set_visible_devices(gpus[0], 'GPU')
tf.config.experimental.set_virtual_device_configuration(
gpus[0],
[tf.config.experimental.VirtualDeviceConfiguration(memory_limit=2048)])
except RuntimeError as e:
# 프로그램 시작시에 가상 장치가 설정되어야만 합니다
print(e)
댓글남기기