Backend/도커

nvidia-container-toolkit설치 후 gpu 연동 테스트

봄다온 2024. 11. 17. 06:08

어느시점부터 docker 안에 gpu를 올리는 기술이 nvidia-docker에서 nvidia-container-toolkit로 바뀌었다고 한다. 따라서 더이상 nvidia-docker를 설치하지않고, nvidia-container-toolkit을 설치해야 도커 이미지안에서 gpu를 사용할수 있다.

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.설치

sudo apt-get update  
sudo apt-get install nvidia-container-toolkit  
sudo systemctl restart docker  

3.nvidia-container-toolkit이 잘 설치되었나 확인 명령어를 날려본다.(이미지 파일다운시 3분이상 소요)

docker run --rm --gpus all tensorflow/tensorflow:2.7.0-gpu nvidia-smi  

tensorflow:2.7.0-gpu 컨테이너에 nvidia-docker로 인해서 nvidia-smi 명령어가 먹히고 현재 그래픽카드정보가 나온다.

4.윈도우 환경에 내 깃허브의 Scripts/check_gpu_scripts/check_gpu.py를 세팅 후 tensorflow 컨테이너에 마운트 시킨후 gpu vram이 올라오는걸 확인.

docker run --gpus all -it --rm -v .:/test tensorflow/tensorflow:2.7.0-gpu /bin/bash  
cd /test  
pip install scikit-learn pandas  
python check_gpu.py

1분정도 로드후(fetchcove임) 윈도우 작업관리자 gpu를 보면 vram이 풀로드 된걸 확인할 수 있다(3090기준)
(cuda, cudnn 설치 없이 바로 check_gpu.py가 실 행됨)

GPU에 데이터 로드 전
GPU에 데이터 로드 후

 

'Backend > 도커' 카테고리의 다른 글

Dockerfile 만들기  (0) 2024.12.30
pytorch docker + jupyter notebook  (0) 2024.12.30
docker container에서 gui 작업  (3) 2024.11.17
docker volume, 볼륨 마운트, 바인드 마운트  (0) 2024.11.17
docker설치, docker 명령어 정리  (0) 2024.08.07