728x90
반응형
1. cuda driver install

# cuda_10.0.130_410.48_linux.run

  • 최신 nvidia-docker의 경우 cuda driver 10부터 사용가능



2. nvidia driver install

# NVIDIA-Linux-x86_64-410.73.run



3. nvidia-docker install 

# yum install nvidia-docker2



4. test

# docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi


=================================================================================

위의 방법이 안될시 아래 방법 진행 (cuda 8버전 사용한 예제)

1.cuda driver 설치 및 환경변수

# ./cuda_8.0.27_linux.run 

# vim ~/.bashrc
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"

# source ~/.bashrc


2.nvidia driver 설치

# ./NVIDIA-Linux-x86_64-390.77.run


3. nvidia repo 설정

# vim nvidia-repo.sh
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo

# chmod 777 nvidia-repo.sh

# ./nvidia-repo.sh


4. docker-ce repo 설정

# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum-config-manager --enable docker-ce-edge
# yum-config-manager --enable docker-ce-test


5. nvidia docker 설치

# yum install nvidia-docker2
-> nvidia docker 설치시 의존성 패키지로 docker-ce도 함께 설치

* 기존에 docker가 설치되어 있다면 docker-ce가 설치되지 않는다. 그러므로 docker를 모두 삭제후 설치해야함

* docker-ce는 별도로 설치할 필요가 없이 nvidia-docker2 설치에 함께 설치하면 된다

* docker-ce를 설치하는 경우 기본 docker는 설치하면 안된다.
(nvidia docker의 경우 docker-ce를 사용하는데 기본 docker 패키지 설치시 docker-ce가 설치되지 않기 때문)


6. nvidia daemon 생성

# vim /usr/lib/systemd/system/nvidia-persistenced.service

[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.target

[Service]
Type=forking
PIDFile=/var/run/nvidia-persistenced/nvidia-persistenced.pid
Restart=always
ExecStart=/usr/bin/nvidia-persistenced --verbose
ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced

[Install]
WantedBy=multi-user.target


7. nvidia 및 docker 데몬 실행

# systemctl enable nvidia-persistenced.service

# systemctl start nvidia-persistenced.service

# systemctl enable docker.service

# systemctl start docker.service


8. 테스트

# docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi


Tip

* /etc/docker/daemon.json을 수정하는 경우 모든 설정이 마무리 된후 설정해야한다. 우선적으로 해당 파일을 수정하는 경우 runtime 오류가 발생하여 docker 데몬이 올라오지 않는데 docker데몬이 올라오면 daemon.json 파일이 자동으로 갱신되니 갱신 후에 수정하는 것이 좋다.


반응형

'Docker' 카테고리의 다른 글

Docker 기본 구성  (2) 2018.11.14
Docker 사용중인 OS를 docker image로 만들기  (0) 2018.08.24
Docker Network - Bridge  (0) 2018.08.24
Docker Network - Macvlan  (0) 2018.08.24

+ Recent posts