CUDA版本问题

这里写目录标题

  • 一.、CUDA版本与显卡驱动对应关系
  • 二、 Nvidia显卡和CUDA版本
    • 2.1 Nvidia显卡和CUDA版本不对会出现的问题
    • 2.2 出现上述问题的原因
      • 第一种情况:开发商和建筑公司不匹配
      • 第二种情况:建筑公司和工人等级不匹配
    • 查看不型号显卡对应的计算能力

一.、CUDA版本与显卡驱动对应关系

CUDA版本问题_第1张图片

二、 Nvidia显卡和CUDA版本

2.1 Nvidia显卡和CUDA版本不对会出现的问题

此节来源,侵删

GeForce RTX 3080 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.

注释:CUDA capability sm_86 表示3080算力等级为8.6(此处算力值不是挖矿算力,注意区分)
问题源头:上面表面上是说PyTorch,实际上是PyTorch依赖的CUDA版本的问题
大概意思:RTX 3080的算力是8.6,但是当前的PyTorch依赖的CUDA版本支持的算力只有3.7、5.0、6.0、6.1、7.0、7.5等算力
注:你的报错可能由于显卡不同或者在使用的cuda版本不同而有所区别,但区别仅在“3.7、5.0、6.0、6.1、7.0、7.5”这个清单中额外增加或者减少一部分

2.2 出现上述问题的原因

NVIDIA官方文档的解释

在这里插入图片描述翻译一下就是:
算力7.0的CUDA可以在支持最高算力7.5的GPU上运行,但是算力7.5的CUDA不可以在支持最高算力7.0的GPU上运行。(很容易理解,cuda需要7.0算力,你GPU算力7.5,当然可以;cuda需要7.5的算力,你GPU算力7.0,达不到要求肯定报错,)
但是!!!算力7.x的CUDA不可以在支持最高算力8.x的GPU上运行。(按照我的理解,明明够用为什么不行,具体原因我也不清楚,应该是和GPU的计算架构有关?)

帮助理解:以开发商、建筑公司、建筑工人分别类比代码框架、cuda版本、显卡型号

开发商 tensorflow1.0

tensorflow2.4

pytorch1.1

pytorch1.9
建筑公司 CUDA8.x
CUDA9.x

CUDA11.x
不同能力的工人 不同等级的NVIDIA GPU

第一种情况:开发商和建筑公司不匹配

开发商pytorch1.9拿到地皮和需要建筑的楼层高度75层(计算难度7.5),去找建筑公司CUDA8.0,CUDA8.0说(报错):“不行,我们建筑公司塔吊最高才70层高(当前安装的CUDA版本支持的最高计算能力为7.0),你去找其他更牛逼的公司(更高版本CUDA)吧”

第二种情况:建筑公司和工人等级不匹配

建筑公司需要建75层或者以下的房子,所有能力盖10层、20层…75层的工人都可以来干(对应楼层对应工人干),只要老板能开给你与你等级适配的工资,但是!!!某建筑工人甲(GPU)有能力建80层高的房子,那么他的薪资也是level80,这家公司塔吊75层,最高只能盖75层楼,最高也只能提供level75的薪资,甲肯定不干啊,这不大材小用了吗(此时,CUDA支持的最高的计算难度为7.5,属于等级7,而GPU能支持到的计算难度为8.0,属于等级8,相差了一个等级,一句话,你可以雇佣低等级工人和同一个大等级工人,但是不能雇佣比你高出一个大等级的工人,比如,你需要盖70层,你可以雇佣level1~level79的工人,雇佣level79的工人虽然超过了我的要求,不过他的工资在预算范围内我支付的起,但是不能雇佣level80的工人,跨了大等级,你支付不起)

查看不型号显卡对应的计算能力

最近因为搭环境,被这些版本要求搞得晕头转向,今天先写这么多“暂时的、粗浅的、可能错误的理解’,后边理解的更好了,再慢慢补慢慢改,希望不要误导人。英语阅读能力还好的,一定要多去看官方文档

你可能感兴趣的:(CUDA,深度学习,神经网络,cuda,python)