nvidia-docker 可以 运行 没有 GPU 吗?
Can nvidia-docker be run without a GPU?
官方 PyTorch Docker image is based on nvidia/cuda
, which is able to run on Docker CE, without any GPU. It can also run on nvidia-docker,我假设启用了 CUDA 支持。是否可以在没有任何 GPU 的情况下 运行 nvidia-docker 本身在 x86 CPU 上?有没有一种方法可以构建单个 Docker 图像,在可用时利用 CUDA 支持(例如,当 运行ning 在 nvidia-docker
内时),否则使用 CPU?当您从 Docker CE 内部使用 torch.cuda
时会发生什么? Docker CE 和为什么 nvidia-docker
不能合并到 Docker CE 到底有什么区别?
nvidia-docker
是 docker --runtime nvidia
的快捷方式。我确实希望有一天他们会合并它,但现在是第 3 方 运行 时间。他们在 GitHub page.
上解释它是什么以及它的作用
A modified version of runc adding a custom pre-start hook to all containers.
If environment variable NVIDIA_VISIBLE_DEVICES is set in the OCI spec, the hook will configure GPU access for the container by leveraging nvidia-container-cli from project libnvidia-container.
没有什么能阻止您 运行 使用正常 docker
为 nvidia-docker
生成图像。它们工作得很好,但如果你 运行 它们中的某些东西需要 GPU,那将会失败。
我认为您无法在没有 GPU 的机器上 运行 nvidia-docker
。它将无法找到它正在寻找的 CUDA 文件,并且会出错。
要创建可以在 docker
和 nvidia-docker
上 运行 的图像,其中的程序需要能够知道它在 运行 的位置。不知道有没有官方的方法,你可以试试下面的方法之一:
- 检查
nvidia-smi
是否可用
- 检查
$CUDA_LIB_PATH
指定的目录是否存在
- 检查您的程序是否可以成功加载 CUDA 库,如果不能则回退
官方 PyTorch Docker image is based on nvidia/cuda
, which is able to run on Docker CE, without any GPU. It can also run on nvidia-docker,我假设启用了 CUDA 支持。是否可以在没有任何 GPU 的情况下 运行 nvidia-docker 本身在 x86 CPU 上?有没有一种方法可以构建单个 Docker 图像,在可用时利用 CUDA 支持(例如,当 运行ning 在 nvidia-docker
内时),否则使用 CPU?当您从 Docker CE 内部使用 torch.cuda
时会发生什么? Docker CE 和为什么 nvidia-docker
不能合并到 Docker CE 到底有什么区别?
nvidia-docker
是 docker --runtime nvidia
的快捷方式。我确实希望有一天他们会合并它,但现在是第 3 方 运行 时间。他们在 GitHub page.
A modified version of runc adding a custom pre-start hook to all containers. If environment variable NVIDIA_VISIBLE_DEVICES is set in the OCI spec, the hook will configure GPU access for the container by leveraging nvidia-container-cli from project libnvidia-container.
没有什么能阻止您 运行 使用正常 docker
为 nvidia-docker
生成图像。它们工作得很好,但如果你 运行 它们中的某些东西需要 GPU,那将会失败。
我认为您无法在没有 GPU 的机器上 运行 nvidia-docker
。它将无法找到它正在寻找的 CUDA 文件,并且会出错。
要创建可以在 docker
和 nvidia-docker
上 运行 的图像,其中的程序需要能够知道它在 运行 的位置。不知道有没有官方的方法,你可以试试下面的方法之一:
- 检查
nvidia-smi
是否可用 - 检查
$CUDA_LIB_PATH
指定的目录是否存在 - 检查您的程序是否可以成功加载 CUDA 库,如果不能则回退