基于GPU实例部署NGC环境
背景介绍
NGC,Nvidia GPU Cloud是由NVIDIA和第三方ISV提供的GPU优化过的软件仓库,主要用于AI,HPC及虚拟化等领域。其中提供了众多容器(containers)、预训练的模型(pre-trained models)、用于Kubernetes部署的Helm charts、以及带有软件开发工具包(SDK)的行业特定AI工具包等。使用NGC可以为开发人员简化建立、定制化和GPU优化的软件的集成等过程,加速整个开发的实现过程。
前提条件
用户需要注册NGC的账号:https://ngc.nvidia.com/signin
操作方法
-
创建一台GPU实例,操作方法请参考创建GPU实例。
注:选择实例镜像时候,需要选择NGC-Ready的系统镜像,目前NGC支持的系统镜像包括: Ubuntu 16.04, 18.04, and 20.04 RHEL 7.5 and 7.6
百度智能云目前已经提供了支持NGC-Ready的系统镜像,如需查看百度云支持的公共系统镜像请详见这里
- 对GPU实例安装GPU驱动,建议安装针对具体操作系统的最新版本的驱动,安装工驱动的方法,可以参考公共镜像使用步骤中提到的方式。
- 安装Docker 和 针对NVIDIA GPU的Docker Utility Engine,即nvidia-docker
Docker的安装方法可以参考这里: Ubuntu, CentOS.
这里我们以Ubuntu为例,具体信息请参考链接。
安装的操作顺序包括:
- 安装Docker的预备条件。
- 添加Docker官方的GPG key。
-
添加官方稳定的Docker仓库。
$sudo apt-get install -y ca-certificates curl software-properties-common $curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-ey add – $sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
安装nvidia-docker:
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add – distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update sudo apt-get install -y nvidia-docker2 sudo usermod -aG docker $USER sudo systemctl daemon-reload sudo systemctl reload docker
- NGC的API key生成
成功注册完NGC账号之后,需要生成账户的API key,生成的过程需要登录NGC页面,点击账户名,选择Setup,会进入Setup页面,然后点击Get API Key,进入生成API Key的页面。
进入页面之后,点击Generate API Key
系统会让你确认是否生成API Key,点击Confirm确认之后,页面会变为类似于如下图所示: 在Password处会显示一连串密码,用户返回GPU实例的shell界面按照图中的操作即可
$ docker login nvcr.io
Username: $oauthtoken
Password:[输入您生成的密码]
-
使用NGC中的镜像
这里,我们以Triton为例:
• 进入NGC的CATALOG的目录部分,选择CONTAINERS分支,在Query查询中输入框架名称Triton
• 点击下面的Triton Inference Server的页面框,关于框架的介绍及拉取镜像的方法则会展示出来
• 我们按照上图中红色方框展示的命令,可以获得最新版本的容器镜像,继续在GPU实例的命令行中输入命令,即可
$ docker pull nvcr.io/nvidia/tritonserver:21.02-py3
这样,我们就可以以docker 容器的方式去使用框架或软件产品了。