代码之家  ›  专栏  ›  技术社区  ›  breandan

nvidia docker可以在没有GPU的情况下运行吗?

  •  4
  • breandan  · 技术社区  · 8 年前

    官方火炬 Docker image 基于 nvidia/cuda ,它可以在Docker CE上运行,无需任何GPU。它也可以运行 nvidia-docker ,我认为启用了CUDA支持。是否可以在没有任何GPU的x86 CPU上运行nvidia docker?有没有办法建立一个单一的Docker映像,当它可用时(例如,在内部运行时)利用CUDA支持 nvidia-docker )而不是用CPU?当你使用 torch.cuda 从Docker CE里面?Docker CE和为什么不能 英伟达码头 并入Docker CE?

    1 回复  |  直到 8 年前
        1
  •  11
  •   kichik    8 年前

    nvidia-docker 是 docker --runtime nvidia . 我真的希望有一天他们能合并它,但现在它是第三方运行时。他们解释它是什么,它对他们的 GitHub page .

    runc的一个修改版本,向所有容器添加一个自定义的预启动挂钩。 如果在OCI规范中设置了环境变量NVIDIA_VISIBLE_DEVICES,则钩子将通过利用项目libnvidia container中的NVIDIA container cli来配置容器的GPU访问。

    没有什么能阻止你运行 英伟达码头 正常情况下 docker . 它们工作得很好,但是如果你在其中运行需要GPU的东西,那就失败了。

    我觉得你跑不了 英伟达码头 在没有GPU的机器上。它将无法找到它正在寻找的CUDA文件,并将出错。

    创建一个可以在两个 码头工人 和 英伟达码头 ,其中的程序需要能够知道它在哪里运行。我不确定是否有官方途径,但你可以尝试以下方法之一:

    • 检查是否 nvidia-smi 是可用的
    • 检查中指定的目录 $CUDA_LIB_PATH 存在
    • 检查您的程序是否可以成功加载CUDA库,以及它是否不能返回
    推荐文章