티스토리 뷰

반응형

주요 설치 순서

Ubuntu(SSH) -> Nvidia Driver 설치 -> Cuda Toolkit 설치 -> Docker 설치

 

1) Ubuntu 설치

차후 유지/보수를 위해 GUI가 지원되는 버전을 설치하거나 서버 버젼 설치하여도 무방함.

※ 윈도우즈에서 WSL 을 이용하여 사용할 수 있으나 GPU 설정 및 포트 연결등 까다로움

 

2) SSH 설정

파이참에서 원격 연결(Python Interpreter) 하여 사용하는 경우 필수

※ 파이참 프로페셔널 버젼만 가능함

 

SSH 설치 및 상태 확인

sudo apt-get update
sudo apt-get install ssh

sudo service ssh start

sudo service ssh status

 

서버 부팅시 SSH 자동실행 등록

 - https://wolfzone.tistory.com/37

 

3) Nvidia Driver 설치 - https://codechacha.com/ko/install-nvidia-driver-ubuntu/

※ 최근에는 CUDA 설치 시 함께 설치되므로 생략하고 4)번 부터 진행(수동 설치시에 참고)

 

다음을 입력하고 recommend 된 드라이버를 확인

sudo ubuntu-drivers devices

 

해당 드라이버 설치

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-cache search nvidia | grep nvidia-driver
sudo apt-get install [드라이버 이름]

 

리부트 진행

sudo reboot

 

드라이버 설치 확인 (GPU 사용을 출력하면 정상 설치)

nvidia-smi

 

제거

드라이버 설치가 잘못되었거나 드라이버 버젼이 맞지 않아 재설치 할경우...

sudo apt-get --purge -y remove 'nvidia*'
sudo apt-get autoremove

 

4) CUDA Toolkit 설치 - https://developer.nvidia.com/cuda-toolkit

network 으로 설치 하거나 다운로드 받은 후 설치가 가능함.(runfile 권장)

) network 설치

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

 

) runfile 설치

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

 

설치 확인

cat /usr/local/cuda/version.txt

 

CUDA 설치 이후 nvidia-smi가 실행되지 않는 경우, 서버 GUI에서 update-manager를 실행하여 프로그램을 업그레이드한다. (참고 - follower.tistroy.com/22).

 

CUDA 제거

CUDA 설치가 잘못되었거나 CUDA 버젼이 맞지 않아 재설치 할경우...

cd /usr/local/cuda/
sudo ./bin/cuda-uninstaller
sudo apt-get --purge -y remove 'cuda*'
sudo apt-get autoremove purge cuda
cd /usr/local/
sudo rm -rf cuda*

 

5) 도커 설치 - https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html

curl 설치

sudo apt-get update
sudo apt-get install curl

 

도커 설치

curl -fsSL https://get.docker.com/ | sudo sh

 

우분투 서버 부팅시 도커 자동 실행하는 법 - https://wolfzone.tistory.com/37

 

유저 권한 부여

sudo 명령 없이 docker 를 실행하도록 설정하는 기능으로 설정 후 재로그인 필요함.

sudo usermod -aG docker $USER

 

도커 설치 확인 (반응이 있고, 제대로 메시지를 띄운다면 정상 설치)

docker ps
service docker status

 

6) nvidia-docker 설치

https://github.com/NVIDIA/nvidia-docker

https://jybaek.tistory.com/796

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

 

도커 프로세스 종료 후 도커 서비스 실행

ps -ef | grep docker
sudo kill [실행 중인 도커 프로세스 ID]
sudo service docker start

또는

sudo service docker restart

 

7) docker-container-runtime 설치

도커 컨테이너 설치 - https://github.com/NVIDIA/nvidia-container-runtime

sudo apt-get install nvidia-container-runtime

sudo pkill -SIGHUP dockerd
sudo service docker restart

 

8) 도커 이미지 다운로드

https://hub.docker.com/r/rapidsai/rapidsai-nightly

 

Docker

 

hub.docker.com

RAPIDS 도커 이미지 다운로드 방법 - https://wolfzone.tistory.com/42

sudo docker pull rapidsai/rapidsai-nightly:cuda11.8-runtime-ubuntu22.04-py3.8

 

도커 컨테이너 실행

도커이름, 호스트이름, 부팅시 자동 실행, GPU 사용, 포트포워딩 설정, 도커 이미지 지정하여 실행

docker run --name mydocker --hostname MYSERVER --restart always --gpus all --ipc host --privileged -p 17022:22 -p 17888:8888 -p 18889:8889 -p 18786:8786 -p 18787:8787 -it rapidsai/rapidsai-nightly:cuda11.8-runtime-ubuntu22.04-py3.8

기존 설치된 서버에서 사용하던 docker 이미지 복사해서 사용하는 법. - https://wolfzone.tistory.com/40

 

9) 전체 과정 확인

CUDA 버전 확인(최근 버전에는 json 파일로 변경됨)

cat /usr/local/cuda/version.txt

or 

cat /usr/local/cuda/version.json

 

도커 실행 확인

service docker status
sudo service docker restart
nvidia-docker 확인 (nvidia-smi와 같은 출력을 보이면 성공)
docker run --runtime nvidia nvidia/cuda:9.0-base nvidia-smi

 

도커 실행 여부 확인 및 컨테이너 확인

docker ps
docker ps -a

 

컨테이너 커밋

docker commit rapids_hangle_py37_ssh rapids_hangle_py37_ssh_image
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

 

포트 포워딩

로컬의 포트에 Docker 포트 연결하는것으로 로컬의 [호스트 포트]로 접속시 Docker의 22번 포트로 연결됨.

docker run -v /etc/localtime:/etc/localtime:ro -p [호스트 포트]:22 --name rapids_hangle_py37_ssh -td rapids_hangle_py37_ssh_image
docker rmi $(docker images –q)

 

포트변경(필요시)

Docker 생성 후 생성시의 파라메터 값을 변경하고자 하는 경우...

service docker stop 한후..

/var/lib/docker/containers/xxx 폴더의 config.v2.json, hostconfig.json 파일에서 포트 변경 후 재기동

 

10) 도커 컨테이너 내부 환경 구성(가상환경 실행 및 SSH 설정)

컨테이너 접속

docker exec -it mydocker bash

 

GPU 사용 가능 여부 확인

만약 정상적인 출력이 되지 않는다면 해당 container를 제거하고 이미지를 다시 run 해본다.

nvidia-smi

 

필수 프로그램 설치(vi, ssh)

apt-get update

apt-get install vim
apt-get install ssh

SSH root 원격 접속 허용처리

PermitRootLogin 옵션의 주석처리를 제거하고, yes 로 수정 및 저장

cd /etc/ssh

vi sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes

service ssh restart

 

root 비밀번호 변경

다음을 실행 후 새로운 비밀번호 입력

passwd

 

11) 기타 패키지 설치

학습 프로그램 실행을 위한 python 패키지 설치

pip install tensorflow
pip install pymysql
pip install openpyxl
pip install paramiko
conda install gpyopt
...

 

시간 출력 확인 (현재 시간과 일치하는지 확인)

date

UTC 로 나오는 경우 KST로 변경(asia → seoul)

dpkg-reconfigure tzdata
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함