在GPU實例上部署NGC環境
更新時間 2024-11-15 01:07:21
最近更新時間: 2024-11-15 01:07:21
分享文章
本文介紹如何在GPU云主機上部署NGC環境。
NVIDIA NGC 是用于深度學習、機器學習和HPC的GPU優化軟件的中心,可提供容器、模型、模型腳本和行業解決方案,以便數據科學家、開發人員和研究人員可以專注于更快地構建解決方案和收集見解。
前提條件
- 用戶需要注冊NGC的賬號:。


- GPU云主機配備彈性公網IP。
安裝步驟
- 創建一臺GPU云主機,操作方法請參見創建未配備GPU驅動的GPU云主機。
- 安裝GPU云主機驅動, 建議安裝最新版本的操作系統驅動,操作方法請參見NVIDIA驅動安裝指引。
- 安裝Docker和針對NVIDIA GPU的Docker Utility Engine,即nvidia-docker。
a. 在安裝Docker新版本之前,請卸載所有的舊版本以及關聯的依賴項。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine


b. 設置Docker 存儲庫。
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo //download.docker.com/linux/centos/docker-ce.repo


c. 安裝Docker 引擎。
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


d. 啟動docker。
sudo systemctl start docker


e. 安裝nvidia-docker。
- 設置存儲庫和 GPG 密鑰。
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L //nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo


- 更新包列表后安裝nvidia-container-toolkit包(和依賴項)。
sudo yum clean expire-cache
sudo yum install -y nvidia-container-toolkit




- 配置Docker 守護程序以識別 NVIDIA 容器運行時。
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker


- 通過運行基本 CUDA 容器來測試工作設置。
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi


使用NVIDIA NGC
- 生成NGC的API key 。
a. 在成功注冊完NGC賬號之后,需要生成賬戶的API key。
登錄NGC頁面,單擊“賬戶名”,選擇“Setup”,會進入Setup頁面,然后單擊“Get API Key”,進入生成API Key的頁面。






b. 在API Key的頁面,單擊“Generate API Key”,進入確認對話框。


c. 在確認對話框,單擊“Confirm”,頁面會變為類似于下圖所示的頁面。


d. 在Password處會顯示一連串密碼,用戶返回GPU實例的shell界面按照圖中的操作即可。
$ docker login nvcr.io
Username: $oauthtoken
Password: 【輸入生成的秘鑰】


- 使用NGC中的鏡像(以PyTorch為例)。


a. 進入NGC的CATALOG的目錄部分,選擇CONTAINERS分支,在Query查詢中輸入PyTorch,并單擊“PyTorch”。


b. 單擊“Get Container”,關于容器的拉取鏡像的方法則會展示出來。


c. 按照上圖中紅色方框中的命令,可以獲得最新版本的容器鏡像,繼續在GPU實例的命令行中輸入以下命令。
$ docker pull nvcr.io/nvidia/pytorch:23.07-py3


這樣,我們就可以用docker容器的方式去使用框架或軟件產品了。