如何在 Docker 容器中的不同 CUDA 版本上运行深度学习框架

How to run deep learning frameworks on different CUDA versions in Docker container

提问人:MUNSpirit 提问时间:11/13/2023 更新时间:11/13/2023 访问量:26

问:

我有以下问题:我在 PyTorch 中开发了一个深度学习管道(但 Tensorflow 也存在这个问题),它适用于我的 GPU 和 CUDA 版本的计算机。没关系。但是现在我希望其他人使用他们的 GPU 和 CUDA 版本在他们的计算机上重现此管道的结果。由于硬件和 CUDA 版本不一定与我的计算机上相同,我认为创建一个运行我的管道的 Docker 容器可能是一个不错的选择。但是,到目前为止,我只能找到必须指定 CUDA 版本的解决方案。现在我的问题是,是否有办法支持所有 CUDA 版本,或者至少最大化我的容器支持的 CUDA 版本。

我尝试使用来自 DockerHub 的映像,但这需要指定 CUDA 版本。它在我的计算机上完美运行,但在同事的计算机上它无法运行,可能是因为 CUDA 版本不匹配。pytorch_lightning

理想情况下,我希望有一个容器来运行具有任何 CUDA 驱动程序和 GPU 的所有计算机。我不知道这是否可能。

docker tensorflow cuda nvidia torch

评论

0赞 paleonix 11/14/2023
CUDA 驱动程序向后兼容旧版本的 CUDA 工具包。也就是说,只要您的容器建立在比驱动程序支持的版本更旧或更旧的 CUDA 版本之上,您就可以了。因此,为了支持尽可能多的驱动程序版本,您可能希望使用与您的代码兼容的最早的 CUDA 版本(假设整个过程基于 PTX,该 PTX 在运行时编译为 SASS 以支持最新的架构)。另一方面,较新的 CUDA 版本的性能可能会更好......
0赞 MUNSpirit 11/15/2023
感谢您@paleonix的评论。如果我理解正确,我将不得不采用与我的代码兼容的最古老的 CUDA 版本来支持最大范围的设备/驱动程序。就我而言,我可能受到我在代码中使用的版本的限制。从理论上讲,兼容驱动程序的数量将来会增加,因为新的驱动程序将支持 CUDA 版本,从而确保可用性和可重复性,对吧?pytorch_lightning
0赞 paleonix 11/15/2023
是的,请参阅此表中的。>=

答: 暂无答案