끄적끄적 개발일기

[WSL] Cuda WSL 환경에서 실행하기-3 : WSL에서 Cuda 사용 본문

HOME/etc

[WSL] Cuda WSL 환경에서 실행하기-3 : WSL에서 Cuda 사용

pbsquid 2022. 4. 17. 00:53

1. Nvidia Container Toolkit 설치

우분투에서 아래명령어 차래대로 실행

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

NVIDIA runtime package 설치

sudo apt-get update

sudo apt-get install -y nvidia-docker2

도커 다시시작

sudo service docker stop

sudo service docker start

GPU정보확인

nvidia-smi

 

2. CUDA Containers 실행해보기

 

N-body simulation CUDA sample 실행

docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

딥러닝 프레임워크 컨테이너 실행

docker run --gpus all -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/tensorflow:20.03-tf2-py3

주피터 노트북 실행

docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter

 


ERROR

nvidia-smi명령어 사용시 

Failed to initialize NVML: GPU access blocked by the operating system
Failed to properly shut down NVML: GPU access blocked by the operating system

위와 같은 에러가 뜨며 동작하지 않았다.

https://docs.microsoft.com/ko-kr/windows/ai/directml/gpu-cuda-in-wsl

WSL2 환경에서 cuda를 사용하려면 최소 Windows 21H2 버전이상이어야 된다는 모양...

 

아래링크에서 최신 버전으로 업데이트 해준다.

 

 

Windows 10 다운로드

Windows 10용 ISO 파일을 다운로드한 경우, 해당 파일은 선택한 위치에 로컬로 저장됩니다.컴퓨터에 타사 DVD 굽기 프로그램이 설치되어 있으며 해당 프로그램을 사용하여 설치 DVD를 만들려는 경우,

www.microsoft.com

혹은

 

WSL에서 GPU 사용하기

개요 리눅스 환경에서 딥러닝 학습을 할 수 있도록. 즉, WSL에서 GPU를 사용할 수 있도록 설정합니다...

blog.naver.com

위 링크를 참조하여 원하는 버전을 선택하여 업데이트할 수도 있다.

 nvidia-smi
Sun Apr 17 00:52:01 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.54       Driver Version: 512.15       CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:08:00.0  On |                  N/A |
|  0%   46C    P5    12W / 120W |    624MiB /  6144MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

이제 우분투에서 nvidia-smi 명령어를 입력하면 정상적으로 동작함을 확인할 수 있다!!


관련문서

https://docs.nvidia.com/cuda/wsl-user-guide/index.html

 

CUDA on WSL :: CUDA Toolkit Documentation

In WSL 2, Microsoft introduced GPU Paravirtualization Technology that, together with NVIDIA CUDA and other compute frameworks and technologies, makes GPU accelerated computing for data science, machine learning and inference solutions possible on WSL. GPU

docs.nvidia.com

https://docs.microsoft.com/ko-kr/windows/ai/directml/gpu-cuda-in-wsl

 

Enable NVIDIA CUDA on WSL 2

Enable the NVIDIA CUDA preview on the Windows Subsystem for Linux

docs.microsoft.com

 

Comments