[docker] 컨테이너에서 cuda 사용하기

최승언·2024년 2월 5일
0

docker

목록 보기
4/15
post-thumbnail

1. NVIDIA Docker 런타임 설치:

호스트 시스템에 NVIDIA Docker 런타임을 설치합니다. 다음 명령어를 사용하여 NVIDIA Container Toolkit을 설치합니다.

### 1)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list


### 2)
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list


### 3)
sudo apt-get update


### 4)
sudo apt-get install -y nvidia-container-toolkit

2. 도커 구성:

nvidia-ctk 명령을 사용하여 컨테이너 런타임을 구성합니다

nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json

도커 데몬 재시작

systemctl --user restart docker

config.toml 수정

### 1)
sudo vi /etc/nvidia/container-runtime/config.toml


### 2)
--- /etc/nvidia-container-runtime/config.toml.BAK	2024-01-16 07:02:05.606573439 +0000
+++ /etc/nvidia-container-runtime/config.toml	2024-01-16 07:02:11.114549694 +0000
@@ -10,7 +10,7 @@
 #ldcache = "/etc/ld.so.cache"
 ldconfig = "@/sbin/ldconfig.real"
 load-kmods = true
-#no-cgroups = false
+no-cgroups = true
 #path = "/usr/bin/nvidia-container-cli"
 #root = "/run/nvidia/driver"
 #user = "root:video"

3. Docker 컨테이너 실행:

NVIDIA GPU를 사용할 수 있도록 Docker 컨테이너를 실행합니다. 다음은 CUDA 지원을 통해 GPU를 사용하는 Docker 컨테이너를 실행하는 예제입니다.

sudo docker run --gpus all -it --rm nvidia/cuda:12.3.1-base-ubuntu22.04

위 명령어는 nvidia/cuda:12.3.1-base-ubuntu22.04 이미지를 실행하며, --gpus all 옵션을 사용하여 모든 GPU를 사용하도록 설정합니다.

4. CUDA 지원 확인:

Docker 컨테이너 내부에서 CUDA를 지원하는지 확인합니다. 다음은 nvidia-smi 명령어를 사용하여 GPU 정보를 확인하는 예제입니다.

nvidia-smi

이렇게 하면 Docker 컨테이너에서 CUDA를 지원하고 GPU를 사용할 수 있는 환경을 설정할 수 있습니다. 위 과정을 따라 진행하시면 됩니다.

profile
작업하다가 막힌부분을 기록하는 곳.

0개의 댓글