CUDA,PyTorch,GCC 之间的版本关系

最近在配置深度学习环境,CUDA,PyTorch,GCC 之间的版本关系是特别需要注意的事情,否则代码根本运行不起来,或者运行报错。

PyTorch

首先 PyTorch 的不同版本是不完全兼容的,所以在配置环境时要看清楚要求的版本,然后 PyTorch 对 CUDA 的版本有要求,可以通过接口查看支持的 CUDA 最高版本:

bash 复制代码
import torch
print(torch.__version__)
print(torch.cuda_is_available())

或者直接使用以下命令去查看安装的有哪些库:

bash 复制代码
pip list

CUDA与nvidia driver版本之间的对应关系

Linux x86_64 Driver Version Windows x86_64 Driver Version
CUDA 12.2.x >=525.60.13 >=525.41
CUDA 12.1.x >=525.60.13 >=527.41
CUDA 12.0.x >=525.60.13 >=527.41
CUDA 11.8.x >=450.80.02 >=452.39
CUDA 11.7.x >=450.80.02 >=452.39
CUDA 11.6.x >=450.80.02 >=452.39
CUDA 11.5.x >=450.80.02 >=452.39
CUDA 11.4.x >=450.80.02 >=452.39
CUDA 11.3.x >=450.80.02 >=452.39
CUDA 11.2.x >=450.80.02 >=452.39
CUDA 11.1 (11.1.0) >=450.80.02 >=452.39
CUDA 11.0 (11.0.3) >=450.36.06** >=451.22**

使用以下命令查看自己的CUDA版本:

bash 复制代码
nvcc --version

使用以下命令查看自己的nvidia driver版本:

bash 复制代码
nvidia-smi

如何想更换显卡的CUDA版本,但是没有管理员权限,可参考以下链接的文章:
https://blog.csdn.net/qq_45729306/article/details/143873069

CUDA与GCC之间的对应关系

在踩了无数次坑之后,终于发现CUDA能否正常使用,还与GCC之间有密切的关系,否则代码还是会运行不起来,反正我的是这样(计算机视觉领域)。但是有意思的是我的另一台服务器安装的GCC版本为7.5.0,CUDA版本为11.7,虽然不符合下面表格中的对应关系,但是代码依然可以运行起来,头大了。所以这部分可以算作最后的检查工作吧。

以下是CUDA与GCC之间的兼容关系。

CUDA version GCC version
11.4.1+,11.5,11.6,11.7 11
11.1,11.2,11.3,11.4.0 10
11 9
10.1,10.2 8
9.2,10.0 7
8 6
7 5.3
5.5,6 4.9
4.2,5 4.8
4.2,5 4.6
4.1 4.5
4.0 4.4

使用以下命令查看自己的GCC版本:

bash 复制代码
gcc --version

如何想更换GCC版本,但是没有管理员权限,可参考以下链接的文章:
https://blog.csdn.net/qq_45729306/article/details/143903591

Pytorch与CUDA版本之间的对应关系

这部分是重中之重,每一个配置过深度学习环境的同学肯定都遇到过这个问题吧,无一例外。版本如果不对应,代码根本跑不起来,不想上面的GCC与CUDA版本那样还存在例外的情况。

CUDA version Pytorch version
11.7 1.13.1,1.13.0
11.6 1.13.1,1.13.0,1.12.1,1.12.0
11.3 1.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0
11.1 1.8.0
11.0 1.7.1,1.7.0
10.2 1.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0
10.1 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.3.0
10.0 1.2.0,1.1.0,1.0.1,1.0.0
9.2 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1
9.0 1.1.0,1.0.1,1.0.0,0.4.1
8.0 1.1.0,1.0.0,0.4.1
7.5 0.4.1,0.3.0,0.2.0,0.1.6,0.1.7,0.1.8,0.1.9,0.1.10,0.1.11,0.1.12

以下是官网给出的更换CUDA版本的所有命令的链接地址:
https://pytorch.org/get-started/previous-versions/

这个地址可能访问的时候会加载不出来,或者非常慢,后续我还会更新这部分的内容。

相关推荐
12345,catch a tiger6 分钟前
虚拟机ubuntu安装Vmware Tools
linux·运维·ubuntu
tankeven8 分钟前
动态规划专题(03):区间动态规划从原理到实践(未完待续)
c++·算法·动态规划
天若有情67312 分钟前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
VBsemi-专注于MOSFET研发定制16 分钟前
面向AI水泥厂储能系统的功率器件选型分析——以高可靠、高效率的能源转换与管理系统为例
人工智能·能源
好家伙VCC16 分钟前
**发散创新:基于Python与ROS的机器人运动控制实战解析**在现代机器人系统开发中,**运动控制**是实现智能行为的核心
java·开发语言·python·机器人
2401_8274999916 分钟前
python项目实战09-AI智能伴侣(ai_partner_2-3)
开发语言·python
派葛穆19 分钟前
汇川PLC-Python与汇川easy521plc进行Modbustcp通讯
开发语言·python
海兰22 分钟前
【第2篇】LangChain的初步实践
人工智能·langchain
漫游的渔夫24 分钟前
别再直接 `json.loads` 了!AI 返回的 JSON 坑位指南
前端·人工智能
凉、介26 分钟前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie