【 深度学习框架搭建】Centos系统下如何装版本合适的 nvidia驱动 + cuda + cudnn + tensorflow

问题描述:

笔者最开始装了最新版的12.3版本的NVIDIA驱动+CUDA Toolkit的环境,在【conda install tensorflow-gpu】时完全没报错,但【import tensorflow】的时候出现如下错误:
Could not load dynamic library ‘libcusolver.so.11‘; dlerror: libcusolver.so.11

根据教程配置好bashrc文件中的路径后,继续报错:
No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-12.3/lib64

后面仔细检查了下cuda包里面的文件,发现所有的配置后缀都是12,没有所需的11,查找资料后发现tensorflow 和 pytorch的环境都需要11.x的CUDA Toolkit(试了最新版的框架,暂时没发现能支持到12.x的版本)。问题至此定位完成。


解决方案:

(1)保留NVIDIA驱动版本,卸载重装11.xCUDA Toolkit 或者 配置多版本的CUDA Toolkit 环境。
(2)如果不想碰到任何可能的版本冲突问题,可以把原来的NVIDIA驱动+CUDA Toolkit都卸掉,重装11.x的环境。(笔者选择方案)

方案一

【背景了解】cuda的两种API

简单来说NVIDIA驱动 和 CUDA Toolkit的版本可以不一致,后者只要小于等于前者的最高版本就行。笔者现在用的就是 12.0的NVIDIA驱动+11.2的CUDA Toolkit(晚点上传下百度云分享资源,占坑)。

在原环境基础上保持不变,加入新的CUDA Tookit,可见这篇教程,注意切换版本的时候需要修改软连接或者直接改bashrc文件中的路径地址。

https://blog.csdn.net/qq_41701723/article/details/131633183

方案二

1、卸载 NVIDIA驱动 和 CUDA Toolkit
#先用包管理器卸载CUDA Toolkit 和 NVIDIA Driver
$ sudo yum remove -y cuda
$ sudo yum remove -y nvidia*

#清除掉残留文件
$ yum remove "*cublas*" "cuda*" "*nvidia**" 

#重启
$ reboot

#验证是否卸载干净,结果应为 xxx:command not found
nvidia-smi
nvcc -V

参考教程:link1link2


2、下载 NVIDIA驱动

查看显卡型号,如果提示没有lspci命令,则需要先进行安装【yum install pciutils】

$ lspci | grep -i nvidia

一版

NVIDIA Corporation 即为产品标识,但如果是像图中显示了 Device XXX,则需要进行额外的查询,详情可见教程。在获得所需信息后,去NVIDIA官网下载合适的驱动。

在这里插入图片描述

3、安装基础环境
$ yum install kernel-devel

#检查内核版本和源码版本,确保一致
$ ls /boot | grep vmlinu
$ rpm -aq | grep kernel-devel

4、安装NVIDIA驱动

*这里笔者直接下了run类型的安装包

(1)修改dist-blacklist.conf

$ vim /lib/modprobe.d/dist-blacklist.conf

(2)屏蔽默认带有的nouveau
按 i 进入insert模式,加#注释掉【# blacklist nvidiafb】,并在末尾添加

blacklist nouveau
options nouveau modeset=0

在这里插入图片描述
按esc后,输入:wq保存并退出vim状态。

(3)重建initramfs image 和 修改运行级别

$ mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
$ dracut /boot/initramfs-$(uname -r).img $(uname -r) 
$ systemctl set-default multi-user.target
$ reboot

#检查nouveau 是否被禁用,结果应为 No such file or directory
ls mod | grep nouveau

(4)安装驱动

  • 具体名称根据自己下载的驱动包名,不要直接复制
$ chmod +x NVIDIA-Linux-x86_64-525.89.02.run
$ ./NVIDIA-Linux-x86_64-525.89.02.run --kernel-source-path=/usr/src/kernels/3.10.0-1160.102.1.el7.x86_64/

参考连接:部分bug的解决方案以及可忽略的一些warnning

(5)安装结果测试

$ nvidia-smi

5、安装CUDA Toolkit

官网上下载所需的CUDA版本

$ chmod 755 cuda_11.2.0_460.27.04_linux.run
$ sh cuda_11.2.0_460.27.04_linux.run

键盘光标指向Driver,按空格取消安装Drivier
在这里插入图片描述
成功后会输出如下信息,
在这里插入图片描述```

6、修改bashrc文件中的路径
  • 教程见文章开头link,配置完成后【nvcc -V】命令可正常输出
    在这里插入图片描述
7、安装CUDNN
$ tar -xvf cudnn-11.2-linux-x64-v8.1.0.77.tgz
$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
$ sudo cp -p cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
$ cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

成功后可正确输出CUDNN的相关信息
在这里插入图片描述

8、最后就可以快乐安装Anaconda,建自己的虚拟环境了!!!
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值