본문 바로가기
MLOps

GPU 사용 환경 세팅

by 볼록티 2022. 3. 26.
728x90
반응형

**운영체제 우분투 20.04**

 

1. nvidia-smi 설치

2. cuda-toolkit 설치

3. cuDNN 설치

 

 

1. nvidia-smi 설치

 

1.1 현재 사용중인 그래픽카드 확인
  그래픽카드 제원을 엿볼 수 있다.

lshw -numeric -C display

1.2 사용가능한 nvidia-driver 확인

ubuntu-drivers devices

 

 

 

1.3 권장 드라이버 설치

 recommended된 버전 "470" 을 두번째 줄의 명령어로 설치한다.

#sudo ubuntu-drivers autoinstall #권장 드라이버로 자동 설치
sudo apt install -y nvidia-driver-470 #450버전의 driver 설치

 

1.4 재부팅(필수)

1.5 설치 확인

nvidia-smi

 

2. cuda-toolkit 설치

 

2.1 설치 명령어

 

아래의 링크에 들어가 환경에 맞는 cuda toolkit을 설치한다. cuDNN을 v8.2.2 를 설치할 예정인데, cuda 버전11.4와 10.2만을 지원한다. 그래서 버전 11.4를 설치한다.

 

https://developer.nvidia.com/cuda-11-4-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local 

 

CUDA Toolkit 11.4 Downloads

Resources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a Bug

developer.nvidia.com

 

설치 명령어는 위 스크린샷의 Base Installer에 나와있는 두 줄 명령어를 입력한다.

wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
sudo sh cuda_11.4.0_470.42.01_linux.run

두번째 명령어 sudo sh cuda_11.0.2_450.51.05_linux.run 를 입력하고 기다리다보면, 입력창이 나온다.

(1) Continue 를 선택하고 다음화면으로 넘어간다.

(2) accept를 치고 엔터치고 다음화면으로 넘어간다.

(3) Driver에서 엔터쳐서 X 표시를 해제하고(첫번째과정이서 이미 드라이버를 설정해서 필요없기 때문), Install 엔터치면 빠져나오게 된다.

(4) 재부팅(필수아님)

 

 

2.2 path 설정

(1) 아래의 명령어로 폴더 명을 확인한다.
ls -lh /usr/local | grep cuda​

(2) 환경변수 추가

export PATH=$PATH:/usr/local/cuda-11.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64
export CUDADIR=/usr/local/cuda-11.4​

2.3 source 명령어로 바로 적용하기

source /etc/profile

 

2.4 설치 확인

nvcc -V

 

 위의 명령어에 뭐 nvcc가 없다거나 apt get install cuda-toolkit 이런거 설치하라는게 나오면 nvidia driver와 cuda toolkit이랑 호환이 안되서 인식이 안되는 것이므로 아래의 방법으로 path 추가를 해보고 그래도 안되면.. 다시 처음부터 제거하고 다른버전.. 설치하는.. 것을 추천한다.

sudo vim ~/.profile

스크린샷처럼 요아래의 두줄을 추가해준다.

    export PATH=/usr/local/cuda-11.4/bin:$PATH

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

(추가) sudo vim ~/.bashrc 에 들어가서 아래의 두줄도 추가한다.

export LD_LIBRARY_PATH=/usr/lib/cuda/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/cuda/include:$LD_LIBRARY_PATH

(참고) driver, cuda 삭제 명령어
설치 다시 하고 싶을 때 아래의 명령어 실행 ~.~

sudo rm /etc/apt/sources.list.d/cuda* #nvidia/cuda 패키지 제거
sudo apt remove --autoremove nvidia-cuda-toolkit #nvidia-cuda-toolkit 제거
sudo apt-get purge nvidia* && sudo apt-get autoremove && sudo apt-get autoclean && sudo rm -rf /usr/local/cuda* #nvidia 관련 패키지 제거
sudo reboot

 

3. cuDNN 설치

 

3.1 cuDNN 파일 다운로드

https://developer.nvidia.com/rdp/cudnn-archive 사이트에 방문해 아래의 CUDA버전 11.4의 cuDNN Library for Linux [x86_64]를 클릭해 압축파일을  다운받았다.

 

3.2 압축해제, 경로, 링크 등 설정

 

(1) 압축파일 해제
 다운받은 압축파일을 해제한다.

커맨드로 압축을 해제해도 된다.
tar xvzf cudnn-11.4-linux-x64-v8.2.2.26.tgz #압축해제

(2) 설정
   Downloads 경로에서 진행한다. 경로를 잘 확인한다.

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

  링크 설정

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

(3) 공유 라이브러리 캐시를 다시 설정한다.

sudo ldconfig​
아래명령어로 확인한다.
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
(4) 재부팅(필수 아님)

(5) 설치 확인
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR

#define CUDNN_MAJOR 8 이 출력되면 성공.!

 

주의할점) 어떤 cuDNN 버전을 설치할지 먼저 확인하고, cuda toolkit을 설치하는 것이 좋다.

 

 

 

 

참고사이트

참고사이트2

728x90
반응형

'MLOps' 카테고리의 다른 글

딥러닝 모델 컨테이너 띄우기(wt. GPU)  (0) 2022.03.31
nvidia-docker 설치 및 컨테이너 띄우기 with GPU  (0) 2022.03.31
MLOps를 위한 잡동사니  (0) 2022.03.26
도커 기초  (0) 2022.03.21
우분투에 도커 설치  (0) 2021.08.31

댓글