에러 해결
[에러 해결] RuntimeError: ProcessGroupNCCL is only supported with GPUs, no GPUs found!
체봄
2023. 11. 24. 20:48
나의 상황은 다음과 같다.
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}
반응형