首页 > 解决方案 > cudatoolkit 和 cuda 的兼容性

问题描述

背景

我正在尝试运行一些旧的 PyTorch 代码。回到那个时候,作者还在使用以下版本的库(用requirements.txt.

torch==1.0.1
torchtext==0.3.1
...

问题

我正在尝试创建一个conda环境来安装这些库。通过调用以下命令

/usr/local/cuda/bin/nvcc --version

事实证明,我的机器当前安装了 CUDA 11.0。但是,根据doc(提供以下命令),似乎最高兼容版本是 CUDA 10。

conda install pytorch==1.0.1 torchvision==0.2.2 cudatoolkit=10.0 -c pytorch

这是否意味着我需要将系统范围的 CUDA 安装降级到 CUDA 10?

我做了什么

我已经阅读了这篇文章,但仍然感到困惑。更具体地说,我不明白cudatoolkit与系统范围的 CUDA 安装有什么关系。一些猜测

  1. cudatoolkit除了一些预编译之外什么都不做,所以最终 PyTorch 版本仍然必须与相应的 CUDA 版本兼容。在我的示例中,无论如何我都必须降级我的 CUDA。

  2. cudatoolkit提供了一个接口,可以帮助 PyTorch 使用可能不兼容的 CUDA。例如,“官方”PyTorch 需要使用 CUDA 10.0,但系统只安装了 CUDA 11.0,然后cudatoolkit可以以某种方式利用系统范围的 CUDA 11.0 来运行实际需要 CUDA 10.0 的 PyTorch 代码。在我的示例中,由于cudatoolkit.

标签: pythoncudapytorch

解决方案


推荐阅读