gpt4 book ai didi

docker - 当主机具有 CUDA 9 时,我可以使用 CUDA 10 运行 Docker 容器吗?

转载 作者:行者123 更新时间:2023-12-02 18:02:01 25 4
gpt4 key购买 nike

我在需要 CUDA 10 的 docker 容器中部署应用程序。这是运行应用程序使用的一些底层 pytorch 功能所必需的。

但是,主机服务器正在运行 docker ce 17、Nvidia-docker v 1.0 和 CUDA 版本 9,我将无法升级主机。

我的印象是我被铐在主机上可用的 v1 nvidia docker 运行时和 CUDA 版本上。

有没有办法在容器上运行 CUDA 10 以便我可以利用这个工具包的功能?

最佳答案

在一般情况下,任何特定的 CUDA 版本都需要最低 GPU 驱动程序版本。这在 here 之类的地方都有介绍和 here (表格1)。因此,要使用 CUDA 9.0,您至少需要一个支持 CUDA 9.0 的 GPU 驱动程序版本,例如 R384 驱动程序。要使用 CUDA 10.0,您至少需要一个支持 CUDA 10.0 的 GPU 驱动程序版本,例如 R410 驱动程序。

容器的使用并没有从根本上改变这一点。如果你想使用一个包含 CUDA 10 代码的容器,你的基础机器需要一个支持 CUDA 10 的驱动程序。

NVIDIA 确实开始发布允许修改上述语句的兼容性库。这些兼容性库可用,但默认情况下不会随 CUDA 工具包安装一起安装。这些兼容性库只在某些情况下起作用,并且它们有一定的使用要求。兼容性库记录在案 here .

使用这些兼容性库的具体要求之一是使用的 GPU 必须是 Tesla 品牌的 GPU。这些兼容性库不支持 GeForce、Quadro、Jetson 和 Titan 系列 GPU。

此外,这些库仅适用于 CUDA 工具包版本和安装在基础机器上的 GPU 驱动程序版本的特定组合。这个“兼容性矩阵”记录在案 here (表3)。只有 CUDA 工具包版本与已安装驱动程序版本的特定组合才能用于兼容性。举个例子,如果您希望使用 CUDA 10.0,并且您的基础机器有安装了 R396 驱动程序的 Tesla GPU,则不支持兼容性。但是,在相同的设置中,如果您希望使用 CUDA 10.1,则有兼容性支持。

如果您满足了兼容性使用的要求,那么剩下的步骤就是安装兼容性库 ( or build your container from a base container that has the compatibility libraries already installed )。

对于包管理器 CUDA 安装方法,安装兼容性库的方法很简单(以 Ubuntu 为例,安装 CUDA 10.1 兼容性以匹配 CUDA 10.1 工具包安装):

sudo apt-get install cuda-compat-10.1

确保版本与您正在使用的 CUDA 工具包版本(您使用包管理器方法安装的,或者已经安装在您的容器中的版本)相匹配。

此兼容性“路径”仅在 CUDA 9.0 时间范围内开始。配备早于 CUDA 9.0 的驱动程序的系统将无法以任何方式用于此兼容性路径。还有各种功能限制和限制,在 documentation 中都有介绍。 .

当正确安装并使用此“兼容性路径”时,整个系统配置可能“似乎”违反了此答案顶部指示的规则。例如,CUDA 10.1 应用程序可能运行在仅安装了 R396 驱动程序的机器上。

对于此处查看的特定问题,OP 最终表示基础机器具有 Quadro GPU,因此此“兼容性路径”不适用,并且是运行的唯一方法,例如如果基础机器中安装了支持 CUDA 10.0 的驱动程序,则 CUDA 10.0 容器将是,例如R410 或更高版本的驱动程序。

关于docker - 当主机具有 CUDA 9 时,我可以使用 CUDA 10 运行 Docker 容器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57015346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com