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库,以及它是否不能返回