我在 Ubuntu 16.04 上安装了两个版本的 CUDA:9.0 和 10.1。
它们分别位于路径
/usr/local/cuda-9.0
和 /usr/local/10.1
。
如果我通过 pip 安装 PyTorch 1.6.0(需要 CUDA 10.1)(pip install torch==1.6.0
),它将使用版本 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?
torch._C._cuda_getDriverVersion()
检查了 CUDA 版本,结果为9000
。如果 PyTorch 自带 CUDA,为什么会使用不兼容的版本呢? - infochiptorch._C._cuda_getDriverVersion()
不是 pytorch 使用的 cuda 版本,它是 GPU 驱动程序支持的最新版本的 cuda(应该与nvidia-smi
报告的版本相同)。它返回的值意味着您的驱动程序已过时。您需要更新显卡驱动程序以使用 cuda 10.1。实际上被 pytorch 使用的 cuda 版本可以通过torch.version.cuda
查询(假设确实正在使用)。有关使用 cuda 支持安装 pytorch 的系统要求的更多信息,请参见此答案。 - jodag