【发布时间】:2021-05-12 21:59:58
【问题描述】:
我的 Ubuntu 16.04 机器上安装了两个版本的 CUDA:9.0 和 10.1。
它们分别位于/usr/local/cuda-9.0 和/usr/local/10.1。
如果我通过 pip (pip install torch==1.6.0) 安装 PyTorch 1.6.0(需要 CUDA 10.1),它使用 9.0 版,因此检测不到 GPU。我已经将LD_LIBRARY_PATH 更改为"/usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/cuda/extras/CUPTI/lib64",但 PyTorch 仍在使用 CUDA 9.0。
如何告诉 PyTorch 使用 CUDA 10.1?
【问题讨论】:
-
PyTorch 在通过 pip 或 conda 安装时不使用系统 cuda。它带有自己的 cuda 版本。您如何确定您的 pytorch 使用的是 cuda 9.0?你有什么型号的 GPU?
-
我用
torch._C._cuda_getDriverVersion()检查了CUDA版本,得到9000。如果 PyTorch 自带 CUDA,为什么要使用不兼容的版本? -
我的 GPU 是 NVIDIA GeForce GTX 1080
-
torch._C._cuda_getDriverVersion()不是 pytorch 使用的 cuda 版本,它是您的 GPU 驱动程序支持的最新版本的 cuda(应该与nvidia-smi中报告的相同)。它返回的值意味着您的驱动程序已过时。 您需要更新显卡驱动程序才能使用 cuda 10.1。 pytorch 实际使用的 cuda 版本可以通过torch.version.cuda查询(假设实际使用的是一个)。有关安装支持 cuda 的 pytorch 的系统要求的更多信息,请参阅 this answer。 -
我猜您在安装 CUDA 9.0 工具包时选择安装“兼容驱动程序”选项。这可能是一个错误,因为它可能安装了随 9.0 工具包分发的旧驱动程序。
标签: pytorch