Azure Zest

[ python ] GPU error ( InvalidArgumentError ) 본문

Deep Learning

[ python ] GPU error ( InvalidArgumentError )

LABONG_R 2020. 5. 9. 23:26

주피터 노트북으로 딥러닝 코드를 돌리다가 다음과 같은 오류가 발생하였다.

 


InvalidArgumentError: 

device CUDA:4 not supported by XLA service 

    while setting up XLA_GPU_JIT device number 4


 

처음 보는 오류였고, 이 오류로 인해 코드가 다 돌아가지 않았다.

 

혹시 GPU 메모리가 부족해서 나타난 오류인가 싶어 다음과 같이 사용하는 GPU를 바꾸어 주었더니 오류가 해결되었다.

 

import os
os.environ['CUDA_VISIBLE_DEVICES'] = '5'

 

GPU 할당하는 것은 다음 링크에서 더 자세히 알아볼 수 있다.

윈도우에서 GPU 할당하기

 

[ Python ] 윈도우에서 GPU 할당하기

Linux에서 GPU 할당하기 리눅스에서 GPU를 정하는 것은 쉽다. 코드를 돌릴 때, 앞에 CUDA_VISIBLE_DEVICES 를 붙이기만 하면된다. 아래와 같이 숫자는 각각 0부터 하나씩 지정이 되어 있을테니, 숫자를 바꿔서 각..

d-tail.tistory.com

 

또한, GPU를 할당할 때 어느 GPU를 사용하면 좋을지 사용량을 보고 싶다면 다음 코드를 이용하면 된다.

$ nvidia-smi

위의 코드를 치면 다음과 같이 GPU 사용 현황이 나온다.

 

초록색 박스에 있는 부분은 위에서 사용할 GPU번호이다.

예를들어 초록색 박스의 2번 GPU를 사용하고 싶다면 os.environ['CUDA_VISIBLE_DEVICES'] = '2'로 사용하면 된다.

 

노란색 박스에 있는 부분은 각 GPU에서 사용하고 있는 메모리의 크기이고,

 

파란색 박스에 있는 부분은 GPU가 얼만큼 사용하고 있는지를 %로 나타낸 것이다.

 

이렇게 nvidia-smi 를 이용하여 각 GPU가 얼마나 사용되고 있는지를 확인하고 용량이 비어있는 GPU로 잘 사용하자.