- NVIDIA GPU CLoud(NGC)
- NGC는 NVIDIA에서 제공하는 GPU에 최적화된 소프트웨어, 관리 도구 등을 지원하는 software Hub 입니다.
- 도커 컨테이너 기반의 개발환경을 제공함으로 안정되고 간편한 설치를 지원합니다.
- 인공지능(AI) 개발자들을 위한 엔비디아 GPU 클라우드 컨테이너 레지스트리 서비스 입니다.
설계 목적
- NGC는 개발자, 데이터 과학자, 연구자들이 GPU 가속 컴퓨팅환경에서 보다 효율적으로 작업할 수 있도록 설계 되었습니다.
주요 구성 요소
- 컨테이너 이미지 : NGC는 사전 빌드된, 최적화된 Docker 컨테이너 이미지를 제공합니다.
- TensorFlow, PyTorch , MXNet, TensorRT, CUDA 등 주요 딥러닝 프레임워크와 소프트웨어 라이브러리를 포함하고있습니다.
- 모델 레지스트리 : 사전 훈련된 AI 모델과 훈련 가능 모델이 포함되어 있습니다.
- 업데이트 및 지원 : NVIDIA는 NGC의 컨테이너와 모델을 정기적으로 업데이트하여 최신버전의 sw와 라이브러리를 제공합니다.
- 클라우드 제공업체 지원 : NGC는 AWS, Azure, Google Cloud와 같은 클라우드 제공업체와 통합되어, 선호하는 클라우드 환경에서 GPU 가속컴퓨팅을 사용할수 있습니다.
- 온프레미스 지원 : NGC는 클라우드뿐만 아니라, 엔비디아 그래픽 카드가 장착된 온프레미스 시스템에서도 사용할 수 있습니다.
- 명령줄 인터페이스 : 명령줄 인터페이스인 NGC CLI를 통해 사용자는 NGC 레지스트리와 쉽게 상호작용 및 컨테이너를 적용할 수 있습니다.
- NGC 인스턴스 : 클라우드에서 GPU 가속 인스턴스를 사용하여 AI 모델을 훈련하고 배포할 수 있습니다.
2. Docker
GPU 서버 시스템 명세서
항목
|
세부 정보
|
서버 이름
|
GPU-Server-01
|
운영 체제
|
Ubuntu 22.04.3 LTS
|
GPU 모델
|
NVIDIA A100-PCIE-40GB
|
GPU 수
|
2
|
GPU VRAM
|
40GB HBM2 per GPU
|
CUDA 버전
|
12.5
|
NVIDIA 드라이버 버전
|
555.42.02
|
Docker 버전
|
27.0.3
|
PyTorch 버전
|
2.3.0
|
작업 순서
(1) nvidia 드라이버 설치 확인
(2) 시스템 업데이트 ( 최신상태 유지 )
(3) 의존성 패키지 설치
(4) 도커 공식 GPG 키 추가
(5) 도커 저장소 설치
(6) 패키지 업데이트
(7) 도커 설치
(8) 도커 서비스 시작
(9) 설치 확인
(10) nvidia 컨테이너 toolkit 설치
(11) NGC 계정 생성 및 도커사용하여 NGC 로그인
(12) PyTorch 컨테이너 pull
(13) PyTorch 컨테이너 실행
(14) PyTorch 설치 확인
상세 작업 내용
(1) nvidia 드라이버 설치 확인
- nvidia-smi ( nvidia 드라이버 설치 확인 )
- dpkg -l | grep nvidia ( nvidia 패키지 설치된 항목 찾기
(2) 시스템 업데이트 ( 최신상태 유지 )
- sudo apt-get update
(3) 의존성 패키지 설치 (도커를 설치하기위해 여러 유틸리티 패키지들을 설치하였습니다. )
- sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
(4) 도커 공식 GPG 키 추가 ( 도커 패키지 무결성 검증을위한 GPG 키 추가 )
(5) 도커 저장소 설치 ( 도커를 설치하기위한 저장소 설치 )
-
echo "deb[arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
(6) 패키지 업데이트
- sudo apt-get update
(7) 도커 설치
- sudo apt install docker-ce
(8) 도커 서비스 시작
- sudo systemctl start docker
(9) 도커 설치 확인
- sudo docker --version
(10) nvidia 컨테이너 toolkit 설치( nvidia 홈페이지에서 엔비디아 컨테이너 툴킷 설치 )
sed 's#deb [https://#deb]https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] [https://#g]https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
- sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
- sudo apt-get update
- sudo apt-get install -y nvidia-container-toolkit
(11) NGC 계정 생성 및 도커사용하여 NGC 로그인
- docker login nvcr.io ( 도커 NGC 로그인 명령어 ) 아래 내용 입력 후 login
Username: $oauthtoken
Password: <Your Key>
(12) PyTorch 컨테이너 pull
- nvcr.io/nvidia/pytorch:23.02-py3 ( docker에서 PyTorch 컨테이너 pull 받아오는 명령어 )
(13) PyTorch 컨테이너 실행
- docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:23.02-py3 ( gpus all 이라는 명령어를 통해 cpu대신 gpu를 사용한 컨테이너 실행 )
(14) PyTorch 컨테이너 내부에서 설치 확인
- python -c "import torch; print(torch.__version__)" ( PyTorch 버전 확인 )
- python -c "import torch; print(torch.cuda.is_available()) ( CUDA GPU 사용할 수 있는지 확인 TRUE 나오면 가능)