WSL ubuntu 20.04를 쓴다면 그래픽드라이버가 바로 잡혀있을 것이다. (아마 window에 이미 잡혀있어서 바로 잡히는거 같음)
WSL ubuntu20.04 터미널에 nvidia-smi 명령어를 입력해 아래와 같이 뜬다면 드라이버가 잡혀있는 것이다.
nvidia-smi
https://developer.nvidia.com/cuda-toolkit-archive
위 링크를 들어가서 CUDA Toolkit 11.3.1 클릭
Linux / x86_64 / WSL-Ubuntu / 2.0 / runfile(local) 클릭하면 아래 Installation 명령어가 뜨게 된다. 터미널에 명령어를 입력하면 된다.
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run
accept 입력
일반 ubuntu20.04에서 설치할때는 Driver설치여부에 대해서도 나왔던거 같은데 안나오니 패스.
만약 나온다면 Driver 설치는 엔터를 눌러 취소해주고 Install 눌러준다.
Install
설치가 완료 되면 아래 처럼 뜬다.
cuda 설치가 잘 되었는지 확인하기 위해 아래 명령어를 입력해본다.
nvcc -V
아래와 같이 뜬다면 해결을 해줘야 한다.
환경 변수를 추가해줘야 한다.
gedit ~/.bashrc
창을 열고 마지막에 cuda version에 맞게 환경 변수 추가
cuda 11.3 version을 설치했으니 11.3으로 입력
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY+PATH
저장해주고 나온다.
이제 터미널을 새로 열어서 아래 명령어를 입력해보면 정상적으로 설치한 cuda version이 뜬다!!
https://developer.nvidia.com/cudnn
위 링크에 들어간다. (로그인이 필요하다)
Download cuDNN Library 클릭
Archived cuDNN Releases 클릭
cuDNN v8.2.1, for CUDA 11.x
cuDNN Library for Linux(x86_64) 클릭해서 다운로드
여기서 다른 버전의 CUDA 11.x를 설치해도 상관 없는 것 같다.
이때 다운로드가 윈도우상으로 다운로드 될 것이기 때문에 Linux로 옮겨줘야한다.
쉽게 드래그해서 .tgz를 옮겨주면 된다.
아래 명령어들을 전부 하나하니씩 입력해준다.
tar xvzf cudnn-11.3-linux-x64-v8.2.1.32.tgz
sudo cp cuda/include/cudnn* /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8
이제 시스템에서 라이브러리를 찾을 수 있도록 한다.
sudo ldconfig
설정이 제대로 되었는지 확인해준다.
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
pytorch는 가상환경에 설치해줄 것이다.
먼저 가상환경을 하나 만들어주자.
필자는 MANIQA라는 IQA를 사용해보고자 이름을 아래와 같이 정했다.
conda create -n "가상환경 이름" python="python 버전"
이제 PyTorch 설치를 위해 아래 링크를 들어가주자
https://pytorch.org/get-started/previous-versions/
cuda 11.3을 설치했으니 그에 맞는 PyTorch 설치
아래 명령어를 가상환경에 들어가서 입력해준다.
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
y 입력
설치완료
이 부분이 가장 중요한거 같다. 아래 명령어를 입력했을 때 False가 뜨면 다시 설치해줘야하기 때문이다.
pytorch를 설치한 가상환경에서 아래 명령어 하나 씩 입력
python
import torch
torch.cuda.is_available()
True라고 나와야 PyTorch가 성공적으로 설치된 것이다.
만약 False가 나왔다면 cuda와 pytorch 버전을 맞게 다시 설치해줘야 한다.
마지막으로 PyTorch version을 확인하는 방법은 다음과 같다.
python
import torch
print(torch.__version__)