【发布时间】:2019-11-22 17:11:12
【问题描述】:
我在需要 CUDA 10 的 docker 容器中部署应用程序。这是运行应用程序使用的一些底层 pytorch 功能所必需的。
但是,主机服务器正在运行 docker ce 17、Nvidia-docker v 1.0 和 CUDA 版本 9,我将无法升级主机。
我的印象是我被主机上可用的 v1 nvidia docker runtime 和 CUDA 版本束缚住了。
有没有办法在容器上运行 CUDA 10,以便我可以利用这个工具包的功能?
【问题讨论】:
-
这在很大程度上取决于具体的配置,尤其是主机上加载了哪个驱动程序,以及主机中的GPU是否是Tesla GPU。在某些情况下,依赖于 CUDA 10 的 docker 容器可以在 CUDA 9 主机上运行,但它需要一些特定的步骤。要求都在this document中详细说明。
-
很好,以前没有遇到过这些要求。那么如果主机没有 Tesla GPU 而有 Quadros 怎么办?我仍然不清楚我需要执行 dockerfile 和/或 compose.. 的安装步骤吗?
-
了解主机上安装的 GPU 驱动程序版本也很重要。如果主机有一个 Quadro GPU,那么“向后”兼容性库将无法使用它,您成功的唯一可能性是主机安装了比“典型”CUDA 9 驱动程序更新的驱动程序。如果您的主机安装了“典型”CUDA 9 驱动程序,并且它是 Quadro GPU,则不可能运行依赖于 CUDA 10 的容器。
-
另外,虽然它没有直接解决您的问题,但this thread 提供了一些关于兼容性库使用和容器的可能有用的信息。但同样,兼容性库不能与 Quadro GPU 一起使用,这是有保证的。
-
所需的GPU驱动程序(例如基础机器上安装了什么)和支持的CUDA版本(例如您可以或希望在容器中使用什么CUDA版本)的关系如表1所示@ 987654323@。由于您的基础机器中有 Quadro GPU,因此无法使用兼容性库机制,并且您运行 CUDA 10.0 容器的唯一希望是如果偶然安装了像 410.48(或更新/更高)这样的“更新”驱动程序在基础机器上。
标签: docker cuda nvidia-docker