이 문서에서는 WSL2 Ubuntu 환경에 Nvidia GPU 를 Docker 컨테이너 상에서 사용할 수 있도록,
위 방법들을 공식 문서를 참조해 안내합니다.
https://www.nvidia.com/Download/index.aspx?lang=en-us
WSL CUDA 드라이버 설치
# 이전 버전 설치한 경우
sudo apt-key del 7fa2af80
# pin 추가
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
# cuda 패키지 다운로드 및 등록
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
# 설치 후 키 추가 명령어 실행할 것
sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
# 패키지 저장소 업데이트
sudo apt-get update
# cuda 패키지 설치
sudo apt-get -y install cuda
최신 버전 확인: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
요구 사항 확인 (2022/06/09 기준)
GPG 키 추가
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& 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/$distribution/libnvidia-container.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
# nvidia-docker2 설치
sudo apt-get install -y nvidia-docker2
# docker 재시작
# wsl 환경이므로 systemctl restart docker 는 안됨
service docker restart
확인
docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
docker run --rm --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark