【问题解决】| 关于torch无法使用GPU的一些实验探索,思考

1 研究背景

我们都知道,想要更快的运行深度学习代码,往往需要pytorch框架,pytorch框架会用到GPU相关的资源

这时候如果我们运行如下的代码

import torch
print(torch.cuda.is_available())

如果输出是True说明是可以用GPU的,如果是False则是不可以用的

那么现在有一个问题,为什么出现False不可以用的情况.

网上给出的答案往往是

Cuda的版本和torch不匹配

cuda是什么,cuda是一个计算设备架构,torch是基于cuda实现的

可是问题来了,查阅网上资料可以知道,cuda的版本有好几个,究竟是哪一个版本不匹配

第一个版本 网上叫做Driver Version驱动版本,在终端输入nvidia-smi 会输出一个cuda版本

在这里插入图片描述

第二个版本 网上叫做运行时版本,在终端输入 nvcc -V,会输出一个版本

在这里插入图片描述

我们通过实验证明这两个版本其实都不重要,重要的是安装torch指令时的内容

我们一点一点来说明

2 问题解决

2.1 问题一,这两个版本分别是怎么得到的?

对于驱动版本,是我们在安装显卡驱动后,会顺带生成的

而对于运行时版本,是我们在安装CUDA Tookit之后,会生成的

2.2 问题二,Windows下安装CUDA Tookit 是必须的吗?

我的第一个问题是,如果我们干脆不安装CUDA Tookit,也就是根本无法获得这个运行时API,torch可以用GPU跑深度学习代码吗?

实验证明是可以的

我们把CUDA Tookit删除,之后运行上面的测试代码,输出是True

说明不安装CUDA Tookit,torch可以用GPU跑深度学习代码

2.3 问题三,驱动版本必须大于等于运行时版本吗?

网上说驱动版本必须大于等于运行时版本

但我们做实验后,发现这个也不是必须的

我们测试了

运行时版本是12.3 驱动版本是12.1 的情况,依然可以正常使用API

2.4 问题四,只运行pip install torch可以吗?

只运行pip install torch是不可以的

会发现安装的torch是198MB左右的,大概率用不了GPU

我们发现官网的指令后面往往跟着一个cu118什么的,如下图所示

在这里插入图片描述

我们发现这个才是最后torch能运用GPU的关键

其实

我们测试结果是驱动版本在12.3的情况下 可以向下兼容12.1 和11.8 cuda pytorch安装命令

什么意思?

也就是说我允许了下面两条指令

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

会发现11.8版本的cuda和12.1版本的cuda都可以正常运行GPU

而且在安装的时候,往往安装大小在1GB左右

3 总结

实验证明

在pip指令后面的 cu118才是关键。

这次实验探索由我和学弟一起完成,感谢学弟@Fridemn!Fridemn-CSDN博客

做实验尝试做到很晚

但是我们目前只能说有一些感性的认识,总结了一些经验

但是对于CUDA的理解还是有很多不到位的地方,需要后面不断的实践补充

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值