본문 바로가기
리눅스

WSL 2에서 GPU accelerated machine learning training(GPU 사용하기) - 2

by 머리올리자 2021. 1. 4.

docs.nvidia.com/cuda/wsl-user-guide/index.html#installing-wsl2

 

CUDA on WSL :: CUDA Toolkit Documentation

Windows Subsystem for Linux (WSL) is a Windows 10 feature that enables users to run native Linux command-line tools directly on Windows. WSL is a containerized environment within which users can run Linux native applications from the command line of the Wi

docs.nvidia.com

위 링크를 참고해서 WSL에 cuda를 설치해보려고 합니다.

 

우선 powershell에서 아래와 같이 명령어를 입력했을 때 Linux kernel이 4.19.121버전 이상이어야 합니다(2021년 01월 05일 기준).

wsl cat /proc/version

 

 

아래 18.04 기준으로 되어있는 CUDA network repository를 set up 이 부분을 

20.04에 맞게 바꿔보고

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo apt-get update

아래 명령어로 CUDA 를 설치한다.

sudo apt-get install -y cuda-toolkit-11-0

참고

 

일반적으로 toolkit과 함께 bundle로 제공되는 NVIDIA 드라이버를 설치하지 않으려면 cuda-toolkit-<version> 메타 패키지를 사용

WSL 2에서 cuda, cuda-11-0 또는 cuda-drivers 메타 패키지를 선택 X.

이러한 패키지는 WSL 2에서 Linux NVIDIA 드라이버를 설치하려고 시도하기 때문


 

 

설치가 완료되면 /usr/local 에 cuda-11.0 가 생성된 것을 볼 수 있다.

 

CUDA application 실행(Running CUDA Applications) - 잘 설치되었나 테스트용 같음

리눅스에서 실행하는 것처럼 CUDA app을 실행, 샘플을 빌드

 

/usr/local/cuda/samples/4_Finance/BlackScholes 로 이동

 

빌드 실행

sudo make

아래 명령어로 테스트

./BlackScholes

 

Setting up to run containers

GPU accelerated containers 실행을 준비하기 위해 NVIDIA Container Toolkit을 설정하는 workflow를 설명

Docker 설치 스크립트를 사용하여 선택한 WSL 2 Linux 배포용 Docker를 설치

 

NVIDIA Container Toolkit은 아직 Docker Desktop WSL 2 백엔드를 지원하지 않음(2021년 01월 05일 기준).

 

도커 설치

- 이 릴리스의 경우 Linux 배포용 표준 Docker-CE를 설치

curl https://get.docker.com | sh

※ 여기서 주의해야 할 점

Ctrl + C로 script를 종료하는 것이 아니고 기다려야 설치가 완료된다.

 

만약 docker를 non-root user 권한으로 사용하고 싶으면 아래 명령어를 치라고 한다.

sudo usermod -aG docker "리눅스 username"

 

NVIDIA Container Toolkit 설치

위 참고링크에는 18.04 기준으로 되어 있지만 20.04도 작동이 되나 확인해보자.

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list

 

NVIDIA runtime packages(와 dependencies) 설치

sudo apt-get update
sudo apt-get install -y nvidia-docker2

새로운 창을 연다음 Docker을 실행함으로써 설치 마무리

sudo service docker stop
sudo service docker start

 

다음 페이지에서는 CUDA container를 실행하는 것을 확인해봐야겠다.