如何在Dockerfiles中包含NVIDIA的NCCL 2?

时间:2017-09-07 17:16:57

标签: gpu dockerfile nvidia

对于NVIDIA Collective Communications LibraryNCCL)版本2,NVIDIA要求用户在访问安装文件之前首先注册为开发人员。

这将对如何在容器中安装NCCL带来挑战。对于个人用途,我们可以使用Dockerfile ADD命令将安装文件复制到容器中。但是,这种方法似乎不适合其他人使用Dockerfile(或公开投放)。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我在oracle安装文件中遇到了类似的问题,我想到的唯一方法是让用户手动下载文件,然后使用Dockerfile ONBUILD命令和{ dockerfile中的{1}} Dockerfile命令。这意味着每个用户基本上都必须构建自己的图像,但至少可以公开图像而不会侵犯NVIDIA的策略。

这样的事情:

ADD

然后用户必须使用他们自己的dockerfile来拉动您的公共图像,如下所示:

FROM example/test:latest
....
ONBUILD ADD /example/nvidia /example/nvidia
....
CMD ['./foo.sh']

如果他们将 NVIDIA集体通信库放置在正确的文件夹中,他们就可以运行docker build,合法地拥有自己的Nvidia库图像。