⚙️설정

[Ubuntu] CUDA, Cudnn, Tensorflow, Pytorch 설치

@soohh 2023. 1. 26. 00:44

 

프로젝트를 진행하면서 GPU 서버가 부족하여 해당 사이트에서 GPU 서버를 대여받았다.

https://www.ictcoc.kr/

 

ICT COC

미래 ICT 혁신인재와 기업을 양성하는 SW개발 스페이스! 미래 ICT 혁신인재와 기업을 양성하는 SW개발 스페이스! 자세히 보기

www.ictcoc.kr

 

전달받은 서버를 이용하기 위해서는 설치해야 할 것들이 있다. 오늘은 그것들을 다뤄볼 예정이다.

 

서버 사용하기

서버를 사용하기 위해서는 GPU와 호환되는 CUDA, Cudnn, Tensorflow, Pytorch 버전이 설치되어야 한다.

CUDA 설치하기

1. nvidia-smi 명령어를 통해 드라이버의 버전을 확인한다.

2. https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions__table-cuda-toolkit-driver-versions 링크에서 호환되는 CUDA Toolkit을 확인한다.

3. base installer 명령어를 입력하여 설치한다.

  • Continue 선택 후 엔터
  • accept 입력 후 엔터 (nividia 라이센스에 관련된 내용 입니다)
  • Install 선택 후 엔터

4. CUDA PATH 설정

  • vi /etc/bash.bashrc 
마지막 줄 아래 추가
##### ADD #####
export PATH=/usr/local/cuda-11.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
################
  • source /etc/bash.bashrc

5. nvcc -V 명령어 실행시 다음과 같이 나오면 CUDA가 제대로 설치된 것이다.

 

cuDNN 설치하기 

1. cudnn 설치하기 https://developer.nvidia.com/rdp/cudnn-archive

2. local 에서 서버로 설치파일 보내기

scp <로컬에서 보낼 경로> <계정>@<원격 IP>:<원격에 보낼 경로>

3. cudnn 파일을 압축 해제 후 경로 이동, 설정, 링크 설정을 해준다.

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

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

4. ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn 명령어 실행 시 재대로 설치되었으면 "#define CUDNN_MAJOR 8"이 출력된다.

 

anaconda로 가상환경 만들기

1. anaconda 설치하기

2. 설치파일 실행하기

  • bash Anaconda3-2022.05-Linux-x86_64.sh

3. 가상환경 생성하기

  • cd anaconda3/envs/
  • conda create -n 만들고자하는이름 python=자신이원하는버전

4. 가상 환결 확인하기

  • conda info --envs

5. 가상환경 사용하기

  • conda activate 생성한 가상환경 이름

6. 가상환경 종료 명령어

  • conda deactivate

 

Library 설치하기

Tensorflow 설치하기

1. https://www.tensorflow.org/install/source_windows#tested_build_configurations 링크에서 python, cuDNN, CUDA의 버전에 맞는 Tensorflow 버전을 선택한다.

2. 자신이 선택한 버전의 Tensorflow를 설치한다.

pip install tensorflow-gpu==X.X.X

3. 작동 확인 -> True를 반환하면 성공

$python
>> import tensorflow as tf
>> tf.test.is_built_with_cuda()

 

Pytorch 설치하기

1. https://pytorch.org/get-started/previous-versions/자신의 CUDA 버전에 맞는 pytorch 버전을 선택한다.

 

2. 자신이 선택한 버전의 pytorch 설치하기

pip install torch==X.X.X+cuXXX torchvision==X.X.X+cuXXX torchaudio===X.X.X -f https://download.pytorch.org/whl/torch_stable.html

3. 작동 확인 -> True를 반환하면 성공

$python
>> import torch
>> torch.cuda.is_available()

 

나의 설치 버전

[ Ubuntu ] 18.04

[ nvidia driver ] 470.42.01

[ CUDA ] 11.2

[ cuDNN ] 11.2

[ tensorflow ] 2.11.0

[ pytorch ] torch==1.12.1+cu113