Docker CUDA问题(与系统CUDA版本不同)[重复]

问题描述 投票:0回答:1

我正在 CUDA 12.2 上开发代码,但是我必须在 CUDA 10.2 上运行脚本 因此,我决定使用 docker 镜像和 cuda 10.2(启用 GPU)

创建如下容器后

docker pull andrewseidl/nvidia-cuda:10.2-devel-ubuntu20.04
docker run --name try1 -it -v "$PWD/try1:/home" --ipc host --gpus all fa1cbb599171 /bin/bash
nvidia-smi
nvcc -V

我观察到

nvidia-smi
返回 CUDA 12.2,而
nvcc -V
返回 12.1。可能是什么问题?

有趣的是,当我尝试使用

pip install .
安装代码时,遇到以下错误:

The detected CUDA version (12.1) mismatches the version that was used to compile
PyTorch (10.2). Please make sure to use the same CUDA versions.

什么可能导致这种差异?

docker cuda
1个回答
-1
投票

当然!当我们谈论 Docker 和 CUDA 时,我们通常指的是对需要通过 CUDA(计算统一设备架构)进行 GPU 加速的应用程序使用 Docker 容器。

CUDA是Nvidia创建的并行计算平台和应用程序编程接口模型。它允许软件开发人员使用 Nvidia GPU 进行通用处理(例如科学模拟或机器学习),而不是仅仅依赖 CPU。

现在,如果您正在处理 Docker 和 CUDA,您可能会遇到 Docker 容器内的 CUDA 版本与主机系统上安装的 CUDA 版本不同的情况。发生这种情况的原因有多种,例如:

应用程序要求:您想要在 Docker 容器内运行的应用程序可能需要特定版本的 CUDA,并且它可能与主机系统上安装的版本不匹配。

兼容性:容器中的 CUDA 版本需要与主机系统上安装的 Nvidia 驱动程序兼容不匹配的版本可能会导致错误或性能不佳。

为了解决这个问题,您可能需要构建一个 Docker 映像,其中包含所需的 CUDA 版本以及应用程序所需的依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.