【问题标题】:How to tell PyTorch which CUDA version to take?如何告诉 PyTorch 采用哪个 CUDA 版本?
【发布时间】: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


【解决方案1】:

torch stable releases page 上提供了使用不同版本 CUDA 构建的手电筒的预构建轮子。例如,您可以像这样安装使用 CUDA v11.1 构建的 torch v1.9.0:

pip install --upgrade torch==1.9.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html

但并非所有组合都可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 2020-05-02
    相关资源
    最近更新 更多