在云虚拟机上部署 NGC 容器
VMI 包含一种机制,用于支持 Docker 容器内的 GPU,以获得最佳性能。根据 NVIDIA VMI 版本,机制如下。
- 使用 Docker-CE 的原生 GPU 支持
需要 Docker-CE 19.03 或更高版本(包含在 NVIDIA VMI 19.10 及更高版本中)
- 使用 Docker-CE 的 NVIDIA 容器运行时
包含在 19.10 之前的 NVIDIA VMI 中
使用 Docker-CE 的原生 GPU 支持
将此方法用于 NVIDIA VMI 19.10 及更高版本。
使用 docker run --gpus
运行启用 GPU 的容器。
- 使用所有 GPU 的示例
$ docker run --gpus all ...
- 使用两个 GPU 的示例
$ docker run --gpus 2 ...
- 使用特定 GPU 的示例
$ docker run --gpus "device=1,2" ... $ docker run --gpus "device=UUID-ABCDEF,1" ...
使用 Docker-CE 的 NVIDIA 容器运行时
将此方法用于 19.10 之前的 NVIDIA VMI
使用 docker run
并指定 runtime=nvidia
。
$ docker run --runtime=nvidia ...
本节介绍在各种 NVIDIA GPU 优化镜像上运行容器的基本过程,这些镜像用于在您选择的云提供商上启动虚拟机。
运行内置 TensorFlow 容器
要在从适用于 TensorFlow 的 NVIDIA GPU 优化镜像创建的虚拟机中运行 TensorFlow 容器,请参阅发行说明以获取正确的 标签 以使用,然后输入以下命令。
在 NVIDIA VMI 19.10 及更高版本上
docker run --gpus all --rm -it nvcr.io/nvidia/tensorflow:<tag>
在 19.10 之前的 NVIDIA VMI 上
docker run --runtime=nvidia --rm -it nvcr.io/nvidia/tensorflow:<tag>
运行内置 PyTorch 容器
要在从适用于 PyTorch 的 NVIDIA GPU 优化镜像创建的虚拟机中运行 PyTorch 容器,请参阅发行说明以获取正确的 标签 以使用,然后输入以下命令。
在 NVIDIA VMI 19.10 及更高版本上
docker run --gpus all --rm -it nvcr.io/nvidia/pytorch:<tag>
在 19.10 之前的 NVIDIA VMI 上
docker run --runtime=nvidia --rm -it nvcr.io/nvidia/pytorch:<tag>
运行从 NGC 下载的容器
要从 NGC 容器注册表运行容器,请输入以下命令。
在 NVIDIA VMI 19.10 及更高版本上
docker run --gpus all --rm -it nvcr.io/nvidia/<container-image>:<tag>
在 19.10 之前的 NVIDIA VMI 上
docker run --runtime=nvidia --rm -it nvcr.io/nvidia/<container-image>:<tag>
登录到 NVIDIA GPU Cloud Image 实例后,您可以在 PyTorch 下运行 MNIST 示例。
请注意,PyTorch 示例将从 Web 下载 MNIST 数据集。
- 拉取并运行 PyTorch 容器
docker pull nvcr.io/nvidia/pytorch:24.07-py3
在 NVIDIA VMI 19.10 或更高版本上
docker run --gpus all --rm -it nvcr.io/nvidia/pytorch:24.07-py3
在 19.10 之前的 NVIDIA VMI 上
docker run --runtime=nvidia --rm -it nvcr.io/nvidia/pytorch:24.07-py3
- 运行 MNIST 示例
cd /opt/pytorch/examples/upstream/mnist
pip install -r requirements.txt
python main.py
登录到 NVIDIA GPU Cloud 镜像后,您可以在 TensorFlow 下运行 MNIST 示例。
请注意,TensorFlow 内置示例将从 Web 拉取 MNIST 数据集。
- 拉取并运行 TensorFlow 容器。
docker pull nvcr.io/nvidia/tensorflow:18.08-py3
在 NVIDIA VMI 19.10 及更高版本上
docker run --gpus all --rm -it nvcr.io/nvidia/tensorflow:18.08-py3
在 19.10 之前的 NVIDIA VMI 上
docker run --runtime=nvidia --rm -it nvcr.io/nvidia/tensorflow:18.08-py3
- 按照本教程:http://tensorflowcn.cn/tutorials/quickstart/beginner,运行
MNIST_with_summaries
示例。cd /opt/tensorflow/tensorflow/examples/tutorials/mnist
python mnist_with_summaries.py
声明
本指南中的信息以及本指南中引用的 NVIDIA 文档中包含的所有其他信息均“按原样”提供。NVIDIA 不对产品的相关信息做出任何明示、暗示、法定或其他方面的保证,并且明确声明不对非侵权性、适销性和针对特定用途的适用性的所有暗示保证负责。 尽管客户可能因任何原因而遭受任何损失,但 NVIDIA 对本指南中描述的产品的累计责任应根据 NVIDIA 产品销售条款和条件进行限制。
本指南中描述的 NVIDIA 产品不具有容错性,并非设计、制造或旨在用于与任何系统的设计、建造、维护和/或操作相关的用途,在这些系统中,此类系统的使用或故障可能会导致威胁人类生命安全或严重人身伤害或财产损失的情况(包括但不限于用于任何核能、航空电子、生命支持或其他生命攸关的应用)。NVIDIA 明确声明不对如此高风险用途的适用性做出任何明示或暗示的保证。对于因如此高风险用途引起的任何索赔或损害,NVIDIA 不对客户或任何第三方承担全部或部分责任。
NVIDIA 不保证或声明本指南中描述的产品在未经进一步测试或修改的情况下适用于任何特定用途。NVIDIA 不一定会执行每个产品所有参数的测试。客户全权负责确保产品适用于客户计划的应用并适合该应用,并为该应用进行必要的测试,以避免应用或产品的默认设置。客户产品设计的缺陷可能会影响 NVIDIA 产品的质量和可靠性,并可能导致超出本指南中包含的附加或不同的条件和/或要求。NVIDIA 不对任何可能基于或归因于以下原因的任何默认设置、损坏、成本或问题承担任何责任:(i) 以任何违反本指南的方式使用 NVIDIA 产品,或 (ii) 客户产品设计。
除客户有权将本指南中的信息与产品一起使用外,NVIDIA 在本指南下未授予任何其他明示或暗示的许可。 仅当经 NVIDIA 书面批准、未经修改地复制且附带所有相关条件、限制和声明时,才允许复制本指南中的信息。
商标
NVIDIA 和 NVIDIA 徽标是 NVIDIA Corporation 在美国和其他国家/地区的商标和/或注册商标。其他公司和产品名称可能是与其关联的各自公司的商标。
版权
© 2024 NVIDIA CORPORATION 及附属公司。保留所有权利。