반응형
우분투 nvidia driver, cuda 11.0, cudnn 8.0 설치 (Ubuntu nvidia driver install, Ubuntu cuda 11.0 install, cudnn 8.0 install)

 

1. 우분투 nvidia driver 확인 및 설치

ubuntu-drivers-cmmon 패키지를 설치하면 그래픽 카드 드라이버를 추천 해줍니다. 아래 명령어를 사용해 패키지를 설치 해주세요

apt update
apt install -y ubuntu-drivers-common

 

아래 명령어를 입력하여 driver 라인을 보면 어떤 드라이버를 설치하면 좋을지 확인 하시면 됩니다. 저는 vmware를 통해 설치했기 때문에 open-vm-tools-desktop으로 나오지만, 호스트OS에 직접 설치한 경우 nvidia-driver-460처럼 nvidia-driver로 시작하는 내용이 나옵니다.

ubuntu-drivers devices

 

위에서 확인한 드라이버를 apt 명령어로 설치를 진행 해주세요.

# 확인한 드라이버가 nvidia-driver-460일 경우
apt install -y nvidia-driver-460

# 확인한 드라이버가 nvidia-driver-450일 경우
apt install -y nvidia-driver-450

 

※ 드라이버 설치 후 nvidia-smi 명령어를 입력하면 드라이버 버전을 확인하실 수 있습니다.

 

2-1. cuda 11.0 설치

우선 cuda 11.0을 설치하기 전, nvida-smi에서 cuda 파일을 같이 가져와 설치하는걸로 보입니다. 아래 명령어를 입력해 기존 cuda를 삭제 해주세요.

※ 기존에 cuda를 사용중이였을 경우 삭제되니 참고 바랍니다.
sudo rm -rf /usr/local/cuda*

 

https://developer.nvidia.com/cuda-toolkit-archive 에서 원하는 cuda 버전을 클릭하여 다운로드를 진행 합니다

 

※ CLI 환경일 경우 인터넷이 되는 PC에서 다운로드 링크(아래 스크린샷의 wget 라인)를 확인 후 진행 하시면 됩니다.

 

아래 스크린샷처럼 환경에 맞춰 선택한 뒤 아래 스크린샷의 가장 하단에 있는 명령어를 그대로 입력 해주시면 됩니다. 또는 11.0을 설치 하신다면 아래 코드 명령을 그대로 복붙 하셔도 됩니다.

wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run

 

sudo sh cuda_11.0.2_450.51.05_linux.run를 입력하시고 잠시 기다리시면 인스톨 창이 나옵니다. 현재 vm환경이므로 텍스트로 대신 합니다. 스크린샷은 없지만 아래 내용을 그대로 따라하시면 됩니다.

  1. Continue 선택 후 엔터
  2. accept 입력 후 엔터 (nividia 라이센스에 관련된 내용 입니다)
  3. Driver 선택 후 엔터 입력하여 체크 해제 (1번에서 드라이버를 이미 설치했기 때문에 cuda에서 자동으로 드라이버를 잡지 않도록 하는 설정 입니다.)
  4. Install 선택 후 엔터
※ "A symlink already exists at /usr/local/cuda. Update to this installation?" 가 출력된다면 기존에 cuda를 사용중이였거나, nvidia-smi를 설치하며 같이 설치된 cuda가 있는 경우 입니다. 필요 없을 경우 No를 선택 해주시면 됩니다. (No가 선택이 안된다면 nstall)

 

cuda 설치가 완료된 후 nvcc -V 명령어를 입력하여 설치된 버전을 확인할 수 있습니다.

 

2-2. cuda 11.0 PATH 설정

vi /etc/profile을 입력한 후 아래 내용을 가장 하단에 붙여넣어 주세요. 

※ 참고로 아래 명령중 cuda-11.0 부분은 cuda의 버전에 따라 변경될 수 있습니다. ls -lh /usr/local | grep cuda 명령을 통해 어떤 디렉토리 이름으로 사용중인지 확인 후 변경하여 쓰시면 됩니다.
export PATH=$PATH:/usr/local/cuda-11.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64
export CUDADIR=/usr/local/cuda-11.0

 

내용을 다 넣었다면 아래 명령어 입력 하시면 됩니다

source /etc/profile

 

3. cuDNN 8.0 설치
※ cuDNN을 설치하기 위해서는 nvidia 계정이 필요 합니다.

https://developer.nvidia.com/cudnn 에 접속 후 로그인한 다음, 아래 스크린샷을 참고하여 설치를 진행 해주세요.

Download cuDNN 클릭
I Agree To the Terms of the cuDNN Sofrware License Agreement → Archived cuDNN Releases 클릭

 

이제 아래에서 원하는 버전을 클릭하여 설치를 진행 하시면 됩니다. 저의 경우 cuda 11버전을 설치한 상태이고 cuDNN 8.0 버전을 설치할 예정이기 때문에 "Download cuDNN v8.0.5 (November 9th, 2020), for CUDA 11.0"를 설치 했습니다.

※ CLI환경일 경우 다른PC에서 다운로드 받은 후 USB 또는 SCP 등을 통해 우분투 서버로 옮겨 주시면 됩니다.

 

cudnn 파일을 압축 해제 후 경로 이동, 설정, 링크 설정을 해줍니다. 저와 다른 버전을 설치한 경우 압축 파일명과 /usr/local/cuda-11.0 폴더가 맞는지 확인 후 진행 해주세요.

tar xvzf cudnn-11.0-linux-x64-v8.0.5.39.tgz
sudo cp cuda/include/cudnn* /usr/local/cuda-11.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.0/lib64
sudo chmod a+r /usr/local/cuda-11.0/include/cudnn.h /usr/local/cuda-11.0/lib64/libcudnn*

sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.0.5 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.0.5  /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.0.5  /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.0.5  /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.0.5  /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.0.5 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn.so.8.0.5  /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn.so.8

ldconfig

 

cuda 설치가 종료 됐습니다. 아래 명령어를 입력하여 재대로 설치가 되었는지 확인 하시면 됩니다.

ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn

 

재대로 설치되었을 경우 "#define CUDNN_MAJOR 8"을 확인하실 수 있습니다.

 

3. 설치 확인 방법 정리
  1. nvidia 드라이버 설치 확인 방법 : nvidia-smi
  2. cuda 설치 확인 방법 : nvcc -V
  3. cudnn 설치 확인 방법 : ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
※ nvidia-smi와 nvcc -V 에서 cuda 버전이 다르게 나올 수 있습니다. nvidia-smi에서의 cuda 버전은 지원 가능한 cuda 버전을 보여주기 때문에 nvcc -V에서 나오는 버전과는 상관이 없습니다.
일반적으로 nvidia-smi에서 나오는 cuda 버전이 nvcc -V에서 나오는 버전보다 같거나 높다면 문제가 되지 않는다고 합니다.

ex) nvidia-smi CUDA 버전 : 11.1  /  nvcc -V CUDA 버전 : 11.0  = 문제되지 않음

 

반응형
반응형
우분투 "ubuntu-drivers not found" 에러 발생 시

우분투 ubuntu-drivers not found 에러 발생 시 이와 관련된 패키지를 설치하여 해결할 수 있습니다. 패키지 설치는 아래와 같습니다.

sudo apt install -y ubuntu-drivers-common
반응형
반응형
※ 해당 포스팅은 모든 패키지에서 의존성 에러가 발생하는 경우에 해당 합니다.

 

우분투 apt 의존성 에러 해결 방법 (Unmet dependency ubuntu)

일부 고객 중 간혹 우분투 apt, apt-get 명령어를 사용하여 패키지를 설치할 때 모든 패키지에서 의존성 에러가 발생 하는데, 원인은 어떠한 이유로 저장소(repository) 리스트가 우분투OS 전용이 아니거나 저장소 리스트가 깨져있는 것으로 추측 됩니다.

이럴 경우 우분투 저장소(repository)를 복구시켜 정상화 시킬 수 있습니다.

  1. sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
  2. sudo vi /etc/apt/sources.list 를 입력하여 파일을 열은 후 모든 내용을 삭제 합니다.
  3. https://repogen.simplylinux.ch/ 으로 접속 해주세요.
  4. "Select your country" → South Korea
  5. "Select your release" → Bionic 18.04 본인 환경에 맞게 선택 해주세요.
  6. "Ubuntu Branches" → 모두 선택
  7. Ubuntu Updates → Prosoed를 제외한 나머지 모두 선택
  8. 이후 스크롤 쭉 내려서 "Generate List" 클릭
  9. 나오는 텍스트를 모두 복사
  10. 복사한 내용을 /etc/apt/sources.list에 붙여넣기

4, 5번 참고 스크린샷
6, 7번 참고 스크린샷
9번 참고 스크린샷

 

위의 모든 과정을 거치셨다면 아래 명령어를 하나씩 입력 해주세요. 해당 명령어를 모두 수행하기 위해서는 2~3분 이상 시간이 소요될 수 있습니다.

sudo apt-get clean
sudo apt-get update
sudo apt-get install -f
sudo dpkg -a --configure
sudo apt-get dist-upgrade

 

이후 apt, apt-get 명령어를 사용하여 모든 패키지에서 발생하는 의존성 에러가 해결 되었는지 확인 해주세요.

반응형

+ Recent posts