如何在Conda环境中降级nvcc至10.2适配PyTorch 1.10.2
在Conda环境中匹配PyTorch与带nvcc的CUDA版本
问题背景
- 已在Conda环境安装cudatoolkit 10.2,但该包不包含nvcc,导致环境自动调用系统全局的nvcc 11.7,出现
torch.version.cuda显示10.2但nvcc -V显示11.7的版本不匹配问题 - 尝试从conda-forge安装cudatoolkit-dev 10.2失败,该版本无可用包
- 系统环境:Ubuntu 22.04、GTX1080显卡、NVIDIA驱动515.43.04,当前使用PyTorch 1.10.2
操作步骤
- 卸载当前PyTorch
先移除现有PyTorch及相关依赖,为降级做准备:conda uninstall pytorch torchvision torchaudio -y - 安装带nvcc的CUDA 10.1
conda-forge提供CUDA 10.1的cudatoolkit-dev包(包含完整开发工具链,含nvcc),执行安装:conda install -c conda-forge cudatoolkit-dev=10.1 -y - 安装适配CUDA 10.1的PyTorch版本
安装与CUDA 10.1兼容的PyTorch稳定版本(推荐1.8.2,兼容性良好):conda install pytorch==1.8.2 torchvision==0.9.2 torchaudio==0.8.2 cudatoolkit=10.1 -c pytorch -y - 验证版本一致性
激活目标Conda环境后,执行以下命令确认:
两者均应显示10.1,说明环境内的nvcc已正确替换,不再调用系统全局版本# 检查PyTorch关联的CUDA版本 python -c "import torch; print(torch.version.cuda)" # 检查环境内nvcc版本 nvcc -V
补充说明
- GTX1080显卡原生支持CUDA 10.1,搭配515.43.04驱动无兼容性问题
- 使用cudatoolkit-dev而非普通cudatoolkit,是因为前者包含nvcc等开发工具,能保证Conda环境内工具链版本统一
内容的提问来源于stack exchange,提问作者Thilo
相关产品推荐
相关产品推荐

