본문 바로가기

Robotics/ML

RTX20 시리즈에 cuda9.0과 cudnn7.5 설치하기

참고한 자료

ubuntu 18.04 RTX2080 --- tensorflow gpu + cuda9.0 + cudnn7.3.1.20_cudnn9.0 - 代码先锋网

운영체제 : Ubuntu 18.04

CPU : Intel i7-9750H

GPU : Nvidia gtx1650 4gb


1. 시스템 제한 해제

블랙리스트 시스템을 엽니다

sudo gedit /etc/modporbe.d/blacklist.conf

 

아래 목록을 추가합니다

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

initramfs를 갱신합니다

sudo update-initramfs -u

 

컴퓨터를 재부팅합니다.

sudo reboot

 

아래 코드를 입력했을 때 출력이 없으면 비활성화에 성공한 것 입니다.

lsmod | grep nouveau

2. 그래픽카드 설치

필수 패키지들을 설치합니다.

sudo apt install -y gcc g++ make

 

그래픽카드 드라이버를 설치합니다.

cuda 11에서도 cuda9를 깔 수 있다는 것을 확인했으므로

2번을 추천드립니다.

1. 특정 버전을 설치하는 방법

그래픽카드 드라이버 종류와 추천 드라이버를 확인합니다.

ubuntu-drivers devices

 

repository를 추가합니다.

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt update

 

apt로 드라이버를 설치합니다.

sudo apt install nvidia-driver-특정버전

 

설치가 완료되면 reboot을 합니다.

sudo reboot

2. ubuntu-drivers로 드라이버 자동설치(권장)

적당한 버전을 알아서 설치 해 줍니다.

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt update

sudo ubuntu-drivers autoinstall

sudo reboot

위 두가지 설치를 진행할 때 기존에 설치된 프로그램들과 충돌 발생 시

sudo apt --purge autoremove nvidia*

3. cuda 9.0 설치

cuda 9.0이 사용하는 버전에 맞추어 gcc와 g++의 버전을 낮춥니다.

sudo apt-get install gcc-5 gcc-5-multilib g++-5 g++-5-multilib

 

gcc와 g++의 버전을 변경합니다.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50

sudo update-alternatives --config gcc

 


sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 40

sudo update-alternatives --config g++

 

gcc g++ 버전을 확인합니다.

gcc -v

 

cuda 9.0을 설치합니다.

사이트에서 CUDA Toolkit 9.0버전에 들어가 자신의 환경에 맞는 버전을 다운받습니다.

CUDA Toolkit Archive

 


다운로드 폴더에 들어가 파일을 실행시킵니다.

실행시키면 엔비디아 그래픽 드라이버도 설치하겠냐고 하는데 무조건 no를 하셔야 합니다.

sudo sh cuda_9.0.다운받으신버전.run

 

 

bashrc에 다음을 추가하여 cuda 9.0을 기본으로 사용할 수 있도록 합니다.

# cuda9.0
export PATH=$PATH:/usr/local/cuda-9.0/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/

 

재부팅합니다.

sudo reboot

 

제대로 설치되었는지 확인합니다.

cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

Result = PASS가 나오면 cuda9.0 설치가 완료된 것입니다.

 

# 4. cudnn 7.x 설치

방식이 직접다운과 아나콘다를 이용하는 방법이 있는데..

직접다운은 엔비디아 계정이 필요합니다

cuDNN Archive

생성 후 cuda 9.0용 cudnn을 다운받고 재생합니다.

 

 

아나콘다 이용은 후에 추가하겠습니다