Cuda 11.2 cudnn 8.1 install in Ubuntu 20.04

ubuntu 20.04에 cuda를 설치해보자. 이후에는 opencv를 cuda module과 함께 빌드할 것이다.

1. Pre-installation Actions

  1. 현재 보유하고 있는 gpu가 cuda-capable한지 체크해야 한다.
lspci | grep -i nvidia

  1. 현재 linux 버전이 support 되는 버전인지 확인해 봐야 한다. 본인은 20.04이므로 가능하다.
uname -m && cat /etc/*release
  1. 지원하는 gcc 버전인지 체크해보자.
gcc --version	
  1. 현재 본인의 gpu가 어떤 nvidia-driver를 지원하는지 알아보는 커맨드이다.
ubuntu-drivers devices

2. Install Nvidia-Driver

위의 명령어로 본인의 그래픽 카드를 지원하는 드라이버를 찾고, 본인이 사용하려는 cuda 버전과 맞는지 확인하여 설치하면 되겠다. 아래의 표는 cuda11.x, cuda10.x의 최소한의 사양이다.
[ref] https://docs.nvidia.com/deploy/cuda-compatibility/



본인의 드라이버가 버전을 만족한다면, 아래의 명령어를 통해 설치하면 되겠다.

sudo apt-get install nvidia-driver-4xx

그 후 update && upgrade 를 한 뒤 reboot 해준다. 그 후 driver가 설치가 되었는지 확인하기 위해 nvidia-smi를 친다.

nvidia-smi


위의 표에서 Cuda version을 체크할 수 있겠다. 버전에 맞는 cuda-toolkit를 설치하도록 하자.


3. Install Cuda-toolkit

다음의 링크로 들어가 우리에게 맞는 버전의 cuda를 설치해주면 되겠다. 우리는 11.2이므로 그에 맞는 것을 선택해준다. 나는 11.2.2를 설치하였다.
https://developer.nvidia.com/cuda-toolkit-archive

그 후 원하는 버전의 링크에 들어가서 자신에게 맞는 버전을 체크한다. 마지막에 runfile을 선택해준다.

runfile을 다운받고, 다운받은 곳에서 실행하면 되겠다. 이때, 이미 nvidia-driver가 있다며 그것을 삭제하고 cuda toolkit과 함께 설치하는 것을 추천하지만, 이는 에러가 잦으므로 그냥 nvidia-driver는 설치하지 않고 나머지를 진행해준다.

설치가 다 된다면 아래의 명령어를 통해 cuda-toolkit 설치 여부를 확인해보자.

nvcc -V


그 이후 ~/.bashrc 에 다음의 명령어들을 입력해주자.

export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

4. Install cuDNN

cudnn은 cuda 가속화 라이브러리이다. 다음의 링크에서 본인에게 맞는 버전을 다운받도록 하자. (Archived cuDNN Releases)로 이동
https://developer.nvidia.com/rdp/cudnn-download

본인에게 맞는 버전의 CUDA를 찾고, 그에 맞는 cuDNN을 설치해준다. 다운로드를 받았다면 다음과 같이 폴더를 풀어준다.

tar -zvxf cudnn-11.2-linux-x64-v8.1.0.77.tgz

이후 현재 폴더의 내용물을 /usr/local로 옮겨준다.

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

다음의 명령어로 설치를 확인해준다.

  cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
  ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn

[ref]

좋은 웹페이지 즐겨찾기