코딩/기타

wsl2 설치부터 cuda까지

샐프 2024. 4. 15. 15:04
반응형

설치 정보

Ubuntu-20.04.6 LTS
python 3.10.14
cuda 12.3.3
cudnn 8.9.7

wsl 설치

먼저 powershell(관리자)를 실행한다.

그리고 아래의 명령어를 수행하여 ubuntu를 설치한다.

wsl --install -d Ubuntu-20.04

그럼 이렇게 실행되면서 ubuntu가 실행된다.

하지만 오류가 발생했다.

해당 오류는 wsl 커널 업데이트에 관한 오류다.

wsl 커널 업데이트 파일 다운로드

위 파일을 통해 해결할 수 있다.

커널 업데이트를 하고 wsl 설치를 실행하면

이렇게 username과 비밀번호를 입력하라는 창이 나온다.

모두 입력하면 잘 설치된 것을 볼 수 있다.

설치가 끝나면 기본적으로 하는 세팅이 있다.

  1. 다운로드 서버 변경
sudo sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
  1. 업데이트
sudo apt update && sudo apt -y upgrade

파이썬 설치

위 명령어를 수행하면 파이썬은 기본적으로 설치가 되어있다.

python3 -V

그러면 이렇게 3.8 버전이 설치된 것을 볼 수 있는데 나는 3.10 버전을 사용할 예정이기에 3.10 버전을 설치하려고 한다.

하지만 3.10 버전은 우분투 저장소에 없으므로 우리가 추가해야 한다.

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update

그리고 저장소에 추가되었는지 확인한다.

apt list | grep python3.10

그리고 본격적으로 설치를 시작한다.

sudo apt install python3.10

그리고 설치가 되었는지 확인한다.

python3.10 -V

그냥 이대로 사용해도 되지만, python3으로 python3.10을 사용하고 싶다면, 순서를 바꿔 python3 명령어를 수행했을 때 python3.10 버전이 나오도록 설정한다.

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
sudo update-alternatives --config python3

cuda 설치

cuda-toolkit-archive

아래의 사이트로 들어가 원하는 버전을 선택한다.

그리고 아래의 사진과 같이 세팅하면 설치할 수 있는 코드가 나온다.

그 코드들을 수행한다.

cudnn 설치

cudnn-archive

위 사이트로 들어가 원하는 버전을 선택한다.

여기서 Local Installer for Linux x86_64 (Tar) 를 선택하여 윈도우 pc에 다운로드 한다.

참고로 다운로드를 하려면 로그인을 해야 한다.

그리고 다운로드한 파일을 ubuntu에 옮겨준다.

cp /mnt/c/Users/dlsdu/Downloads/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz .

그리고 압축을 풀어준다.

tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

그리고 아래의 명령어로 파일을 복사한다.

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

그리고 환경변수를 추가한다.

sudo vi ~/.bashrc

가장 밑으로 내려가 i 를 누르고

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.3/lib64/

위 코드를 복사에 우클릭을 한다.

후에 esc -> :wq 를 하면 저장된다.

그리고 환경변수 변경사항을 수행한다.

source ~/.bashrc

확인하기

이제 gpu를 잘 인식하는지 확인해보자

가상환경을 먼저 만든다.

python3.10 -m venv .venv

그리고 가상환경에 접속한다.

source .venv/bin/activate

그리고 tensorflow를 설치한다.

나는 2.15.0 버전을 쓰고 있다.

pip3 install tensorflow==2.15.0

그리고 아래의 코드를 입력하고 실행한다.

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

그러면 아래와 같이 뜨면 성공이다.

[name: "/device:CPU:0"
 device_type: "CPU"
 memory_limit: 268435456
 locality {
 }
 incarnation: 16858250144071910444
 xla_global_id: -1,
 name: "/device:GPU:0"
 device_type: "GPU"
 memory_limit: 10182721536
 locality {
   bus_id: 1
   links {
   }
 }
 incarnation: 14192459443851742976
 physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 3060, pci bus id: 0000:01:00.0, compute capability: 8.6"
 xla_global_id: 416903419]

참고

https://velog.io/@meek/WSL-WSL2-Ubuntu-%EA%B5%AC%EB%8F%99-%EC%8B%9C-0x800701bc-%EC%97%90%EB%9F%AC

https://wslhub.com/wsl-firststep/firststep/ubuntu/

https://sonseungha.tistory.com/678

반응형