当前位置:   article > 正文

服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?

服务器的CUDA是哪里来的?pytorch会自动安装CUDA吗?如何选择CUDA版本?nvcc --version的版本和nvidia-smi不一样是怎么回事?pytorch无法使用GPU怎么办?

前情提要:

今天使用conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c nvidia 命令在服务器安装pytorch后,使用torch.cuda.is_available()检查GPU是否可用时,返回为FALSE。

于是上网搜了搜,发现可能是pytorch版本和CUDA版本不一样,于是使用nvcc --version命令查看CUDA版本,返回是9.1。But,我在官网并没有找到CUDA 9.1适配的pytorch安装命令。
在这里插入图片描述

我又在网上找啊找,发现使用pip install https://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-linux_x86_64.whl命令可以适配9.1版本的CUDA。于是我高兴地在服务器输入这行命令,却出现报错*** is not a supported wheel on this platform。o(╥﹏╥)o
照着安装pytorch,报错*** is not a supported wheel on this platform文章的方法,我手动下载了whl包,准备手动安装。

就在此时,我输了一下nvidia-smi命令,惊奇的发现,CUDA version居然是11.4!
在这里插入图片描述
为什么会这样呢?【CUDA】nvcc和nvidia-smi显示的版本不一致?nvidia-smi 和 nvcc 结果的版本为何不一致这两篇文章给出了解释。

CUDA版本不一致真麻烦呀,那可以自己升级CUDA版本吗?
答案是可以的:非root用户安装cuda与cudnn - 你好小雅的文章 - 知乎服务器安装(多版本) CUDA 和 cuDNN,不影响其他人
但是这些教程看起来就很复杂,万一我把公司的服务器弄坏就不好搞了,于是放弃了这条路。

发出疑问

这个时候我产生了一个疑问,我们安装pytorch的时候,也会顺带安装cuda,那这个cuda和服务器自带的cuda是什么关系呢?服务器自带的cuda是谁安装的呢?
在这里插入图片描述
另外,安装pytorch的时候,这里的platform究竟是什么意思呢?① 服务器中的cuda版本 ② 我想要安装的cuda版本
在这里插入图片描述

带着这个问题,我询问了实验室优秀的同门和师弟,没想到却难倒他们了:
在这里插入图片描述在这里插入图片描述

不过功夫不负有心人,在某位大佬的帮助下,我成功解决了这个疑问。

答案在这里:

  • 如果只用pytorch,那么安装的时候会自动安装cudacudnn
  • 如果自己装一个cuda的话,路径一般在/usr/local/cuda
  • 一般情况下我们都不会用到系统的cuda,系统中的初始cuda也是别人装的

那为什么我明明安装了pytorch,却无法使用GPU呢?
抱着试一试的心态,我使用官网中的conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch重新安装了一下。
最好使用conda安装,因为如果使用pip安装,从自己的一些源下载的话可能会给定向到一些乱七八糟的版本

安装过程中,要注意一下[y]/n的时候安装的是什么东西,有没有cuda(千万不要安装成cpu版本哦!):
在这里插入图片描述

当当当,神奇的事情发生了!!!居然成功了!
在这里插入图片描述

那为什么之前的不行呢?我问了问之前使用这个命令的同门,他表示:“那个可能过时了,当时好像是3090的原因”。
所以,大家下载pytorch的时候,一定要从官网寻找合适的命令安装!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/813480
推荐阅读
相关标签
  

闽ICP备14008679号