linux64非root用户安装CUDA11.1、CUDNN、nvidia驱动不匹配踩坑记录

之前没有在非root的linux服务器上装过本地的环境,所以在有权限的情况下用sudo可以很快的完成配置。
这次在非root服务器上安装时出现了很多意想不到的问题,特此记录一下:

1. 非root用户安装cuda时的路径配置:

注意!!!添加环境变量那一步不要按连接中的操作进行!正确解决方法看下面的内容
参考下面链接中的博主的方法,每一步看仔细就能成功配置
https://blog.csdn.net/sinat_36215255/article/details/86361258

2. CUDA的环境变量配置

安装完cuda和cudnn后,下一步准备安装pytorch。需要注意的是,如果在官网中选择conda安装,则系统会默认再次给你安装对应版本的CUDA
解决方法:选择pip的方式安装pytorch
当然,在我美滋滋的以为只要用pip就能安装好pytorch的时候并没有意识到,驱动在早上6点自己偷偷更新了。这就导致我的nvidia-smi命令查看驱动配置时会报错:Failed to initialize NVML: Driver/library version mismatch且同时nvcc -V也nvcc-V: command not found
在这里插入图片描述
看到这两行的时候气死我了!
于是我认为应该是环境变量出了问题,重新将路径加到环境变量里。果不其然,nvcc修好了
在这里插入图片描述
然而!当我重新打开一个服务器terminal时,nvcc又又又又失灵了
搜了一下找到了原因,通过上文中给出链接的那篇博客中的方法添加环境变量的话,没能写到bashrc里。
解决方法:

echo 'export PATH=~/cuda-11.1/bin/:$PATH'>>~/.bashrc
echo 'export LD_LIBRARY_PATH=~/cuda-11.1/lib64:$LD_LIBRARY_PATH'>>~/.bashrc
source ~/.bashrc

然后打开bashrc可以看到添加了环境变量:

vim ~/.bashrc

文本最末尾出现了

#User specific aliases and functions
export PATH=/usr/local/cuda...
export LD_LIBRARY_PATH=/usr/local/cuda...

此时再次连接服务器,输入nvcc -V后即可看到我们想要的结果~~
在这里插入图片描述

3. nvidia-smi驱动mismatch问题

在这里插入图片描述
nvidia-smi命令查看驱动配置时报错:Failed to initialize NVML: Driver/library version mismatch
原因在于:NVIDIA 内核驱动版本与系统驱动不一致
于是我们需要先查看显卡驱动所使用的内核版本:

cat /proc/driver/nvidia/version

在这里插入图片描述
–内核版本为460.80

接下来查看系统驱动日志:

cat /var/log/dpkg.log | grep nvidia

在这里插入图片描述
这是什么!!!居然背着我偷偷更新!!!
也就是说系统驱动的版本已经到了460.91.03而内核版本还是460.80
解决方法: 查了下相关解决方法,似乎只有两个:

  1. 卸载系统驱动,重新安装。
  2. 重启等待内核驱动自动更新
    考虑到我在服务器上没有权限,无法阻止系统驱动的自动更新,因此只能采取第二种方式:重启

重启之后好了!!!!!!!!!!弄了快一天终于配好了!!!!!!!!!!!!!!!!!!!!!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值