티스토리 뷰

나의 상황은 다음과 같다.

Docker 환경에서 $ docker run -it {IMAGE_NAME} 명령어를 통해 container를 만들어 실행했다.

그리고 해당 서버의 GPU 2대를 활용해 모델 추론을 하려고 했는데 이 에러가 발생했다.

에러 메시지를 보면 GPU가 인식되지 않고 있는 상황인데, 추론 코드에는 문제가 없었다.

 

문제의 원인은 container를 만들 때부터였다.

단순하게 $ docker run -it {IMAGE_NAME} 명령어로 container를 만들었었는데, 이렇게 되면 서버에 있는 gpu가 할당되지 않는다. 그래서 container 내에서 gpu를 인식하지 못한 것이다.

 

이 문제를 해결하려면, container를 만들 때 할당할 GPU 번호를 명시해줘야 한다.

--gpus 파라미터 다음에 명시해주면 되고, 서버의 모든 GPU를 할당하려면 'all'을 써주면 된다.

$ docker run -it --gpus '"device=0,1"' {IMAGE_NAME}
$ docker run -it --gpus all {IMAGE_NAME}

 

반응형

댓글