환경 설정

WSL2(Windows Subsystem for Linux 2)을 이용한 Deep Learning 개발 환경 구축(1)

0verc10ck 2021. 9. 13. 12:01
반응형

WSL2(Windows Subsystem for Linux 2)

 

WSL(Windows Subsystem for Linux)는 Microsoft의 Type 1 Hypervisor인 Hyper-V를 이용하여 Windows 상에서 Unix System을 사용할 수 있도록 지원하는 기능으로써, Dual booting의 불편함을 해소하고, Type 2 Hypervisor인 Virtual Machine의 느린 속도를 해결하였다.

 

본 게시글에서는 WSL2 설치까지의 내용을 다루고 있고, 아래의 게시글 에서는 설치된 WSL2상에서 CUDA를 포함한 다양한 DeepLearning 개발 환경 구축에 대한 내용을 담고 있다.

 

WSL2(Windows Subsystem for Linux 2)을 이용한 Deep Learning 개발 환경 구축(2)

 

WSL2 Architecture

2015년 RS1 update에서 발표된 WSL1과 달리 WSL2는 다음의 차이점을 가지고 있다.

 

Difference Between WSL1 and WSL2

WSL2는 OS file system간의 performance를 제외하면 모든 부분에서 WSL 1 보다 뛰어나며,

또한 WSL2부터 전체 Linux Kernel이 적용되어, WSL System 상에서 Nvidia CUDA를 이용한 연산이 가능해졌다.

 


WSL2 설치

WSL2는 MS windows 10 2020 may update에서 부터 정식으로 지원되기 시작하였으나, 우리는 WSL상에서 Nvidia CUDA를 활용할 것이고, 이를 위해서는 Windows Insider Preview에서 제공되는 WSL2를 사용하여야한다.

 

MS의 WSL2 documentation에서 WSL2를 사용하기 위해 요구되는 Windows build는 20262이상 이지만, Nvidia에서 제공되는 WSL CUDA Toolkit Documentation에서는 최소 20145 권장으로는 21390 혹은 그 이상의 Windows Build를 요구한다.

 

1 Windows Build check

cmd를 실행하고 Winver를 입력하여 자신의 Windows build를 확인해보자.

자신의 build가 21390 이하라면 1.2로 이동하여 update를 진행하고, 이상이라면 1.3으로 넘어가도록 하자.


2. Windows Insider Preivew

"설정 -> 업데이트 및 보안 -> windows 참가자 program"으로 이동한다.

(필자의 경우 이미 Insider preview windows 11을 사용중이기 때문에 Windows update가 따로 분리되어있다.)

 

Windows Insider Preview Participation

시작하기를 누르고 Microsoft 계정 Login 후 참가자 설정 선택 항목에서 어떤 channel에 참가할 것인지를 선택해야한다.

 

channel은 Dev, Beta, Release preview 3개의 channel로 구성되어 있다.

 

Dev channel이 가장 빠른 update를 받아 볼 수 있는 channel 이지만 불안정성이 존재한다.

 

본 게시글에서는 Dev channel으로 진행을 하였다. Dev channel의 불안정성이 걱정된다면, Insider preview Page에서 각 Channel이 어떤 build에 해당하는 지 확인후 조건을 만족하는 build를 지원하는 channel을 선택하면 된다.

 

2.1 TPM(Trusted Platform Module) 2.0

21년 9월 13일 현재 기준으로 Insider Preview에서 Windows 11을 지원하기 때문에 MainBoard에서 TPM(Trusted Platform Module) 2.0을 지원해야 update가 가능하다.

 

TPM 2.0 지원 여부는 실행창에 tpm.msc를 입력하여 아래와 같은 결과가 나오는지 확인해 보자.

 

TMP2.0 Check

만약 위와 같은 결과를 확인 할 수 없다면, BIOS에서 TPM설정을 활성화 시켜야한다.

 

TPM 2.0은 8세대 이상의 Intel core-i series2세대 이상의 AMD Ryzen을 지원한다.

 

위 목록에 자신의 CPU가 없다면 TPM 2.0을 활성화 할 수 없기 때문에 Windows 11이 아닌 Insider Preview 중 위 조건을 만족하는 build를 사용하면 된다.

 

BIOS에서 TPM을 활성화 하는 방법은 MainBoard의 제조사마다 다르기 때문에 Google에 "제조사 + TPM 활성화"로 검색하여 따라하면 된다. 이 경우 아래 3의 내용을 읽고 한번에 처리하는 것을 추천한다.


3. Enable CPU Virtualiation

WSL2는 Windows의 Hyper-V System을 이용하기 때문에 CPU Virtualizaiton 기능을 요구한다.

 

작업 관리자를 실행시키고 성능 tab에서 CPU의 가상화 부분을  확인하자.

 

CPU virtualization check

만약 위 사진과 달리 가상화가 사용 안 함이라고 되어있다면, BIOS에서 가상화 기능을 활성화 해야한다.

 

가상화 또한 MainBoard 제조사 마다, BIOS가 다르기 때문에 "Mainboard model name + cpu 가상화"로 검색하여 자신과 같은 Board를 사용하는 게시글을 따라하면된다.


3. Install WSL2

Insider build 사용자의 경우 이전의 WSL1 설치 과정과 달리 간단히 설치 할 수 있다.

 

CMD를 관리자 권한으로 실행한 뒤 다음의 명령어를 입력한다.

 

wsl.exe --install

 

작업이 완료된 후 컴퓨터를 껏다 킨다.

 

다시 wsl을 실행하면, 압축이 풀리고, pc에 저장될 때까지 기다리라는 메시지가 송출된다.

 

Creating New Username and Password

작업이 완료되고 나면, 새 Linux를 위한 Username과 password를 입력하게 되고, 이를 마친다면 WSL2 설치가 마무리된다.

 

위 명령어를 이용한 Linux Distribution은 Ubuntu이며, Debian, Kali, openSUSE, CentOS등 다른 Distribution을 사용하기 원한다면, 명령어를 입력하지 않고, Microsoft Store를 실행하여 원하는 Distribution을 설치하여 사용할 수 있다.

반응형