如何将最小的 cuda 驱动程序文件安装到 Alpine linux 中

Mat*_*att 8 cuda docker alpine-linux

我想将最小的 cuda 运行时文件安装到 alpine linux 中,并使用 cuda 创建一个比 nvidia 本身提供的小得多的 docker 基础。英伟达官方的像往常一样巨大。

如何在 docker 构建期间获取这些运行时文件而不拉取整个 cuda 8 工具包?

Mat*_*att -2

澄清一下,这只是驱动程序。不是cuda。那是另一个故事了。

事实上,这比预期要容易得多。我只是不太了解 nvidia-docker 项目已经走了多远以及它是如何工作的。

基本上,下载并安装最新的 nvidia-docker。来自 nvidia-docker 项目。

https://github.com/NVIDIA/nvidia-docker/releases

然后创建一个 alpine linux Dockerfile。

FROM alpine:3.5
LABEL com.nvidia.volumes.needed="nvidia_driver"
ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64

RUN /bin/sh
Run Code Online (Sandbox Code Playgroud)

建造它。

docker build -t alpine-nvidia
Run Code Online (Sandbox Code Playgroud)

跑步

nvidia-docker run -ti --rm alpine-nvidia
Run Code Online (Sandbox Code Playgroud)

请注意使用 nvidia-docker cli 而不是普通的 docker cli。

nvidia-docker使用额外参数调用 docker cli。

  • 您能解释一下如何使用这张高山图像吗?您是否继续在容器上安装 cuda?我真的很困惑,因为我认为你需要 cuda 才能运行任何东西。此外,nvidia-docker 挂载的卷确实在容器中提供了一个“nvidia-smi”文件,但它实际上并没有运行(我猜二进制文件不是为 alpine 编译的)。这不是一个问题吗? (2认同)