설치환경

  • OS: Ubuntu-22.04 LTS (WSL)
  • CPU: Intel i9-9900k
  • GPU: RTX 2080 8G
  • RAM: 32G
  • CUDA: 11.8
  • cuDNN: v8.9.7

NVIDIA Container Toolkit

개념

  • Nvidia Container Toolkit은 Docker 엔진 위에서 특정 버전의 CUDA Toolkit 만 실행하는 개념
  • Host PC의 GPU 및 CUDA 드라이버를 사용하기 때문에 Host PC에는 Nvidia-Driver가 설치되어 있어야함
  • 호스트 Nvidia Driver 버전에 따라 CUDA 버전을 다르게 실행할 수 있음

Docker 이미지 실행 시 --gpus all 옵션을 사용할 수 있게함


설치

apt repository에서 설치

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

컨테이너 설정 및 도커 재시작

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

설치확인

docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu20.04 nvidia-smi

NVIDIA-Docker

개념

아래 패키지들의 포함을 Nvidia-Docker라고 칭하며 위에서 부터 아래로 의존하는 형태 (nvidia-docker2를 설치하면 나머지가 모두 설치됨)

nvidia-docker2

  • Docker 19.03 이상부터 지원 중단
  • 권장되는 해결 방법은 docker 19.03으로 업데이트하고 nvidia-container-toolkit을 설치
  • 하지만 —gpus 플래그를 지원하지 않는 시스템(e.g.  Kubernetes with Docker 19.03) 을 사용할 경우 nvidia-docker2를 사용해야함

참고


Ubuntu CUDA 개발환경세팅