linux安装nvidia驱动和cuda

一、lspci | grep -i nvidia        查看显卡信息

二、从NVIDIA官方驱动 | NVIDIA下载相对应版本的驱动包linux安装nvidia驱动和cuda_第1张图片

 下载下来是个.run文件,chmod +X 给它增加执行权限,然后./执行安装

三、执行后通常会出现以后两个错误:

1、如果你安装的linux是有图形界面的,那这时候它会提示不能在图形界面下安装。

2、如果你没有安装图形界面或者关闭了图形界面安装,这会提示要禁用nouveau驱动。

下面我们解决这两个问题

四、首先解决禁用nouveau驱动问题

nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,也没能得到NVIDIA的认可与支持。为了让Linux更容易的应对各种复杂的NVIDIA显卡环境,让用户安装完系统即可进入桌面并且有不错的显示效果,所以,很多Linux发行版默认集成了Nouveau驱动。所以当你要安装nvidia官方的驱动时,就要禁用这个第三方驱动。

在禁用之前,我们可以先看一下现在系统中的nouveau驱动状态:lsmod | grep nouveau
如果有返回内容,那么就表示还没有被禁用,如果什么结果都没有,那就是成本被禁用掉了,下面的内容不用看了。

1、vim /etc/modprobe.d/blacklist-nouveau.conf
2、输入
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
3、备份镜像和重塑镜像:
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
4、reboot 重启系统

五、如果你没有安装图形界面,那这步不用看了,如果安装了图形界面,那打开命令行执行init 3,然后输入用户名和密码就进入没有图形界面的linux了。(当然等你安装完后想回到图形界面系统直接reboot重启一下就行)

六、这时候再执行sh驱动包,然后一直选择默认就可以了。查看是否安装成功执行nvidia-smi命令,如果出现显卡的信息则说明安装成功。

七、cuda安装

1、安装cuda前提需要安装gcc,一般linux系统都自带gcc,可以在命令行输入gcc -v查看,如果没有则需要单独安装,可以yum,也可以下载源码安装(我前面的文章有)

2、去官网下载cuda的安装包,CUDA Toolkit 11.8 Downloads | NVIDIA Developer也可以下载sh文件然后直接安装(中间有一步将driver那里的X取消掉),然后就安静等待就可以了,需要一点时间不要取消。

3、安装完之后会有提示信息,显示cuda安装在/usr/local下。

4、增加到环境变量,我一般是加到/etc/profile中,增加如下内容:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

保存后source /etc/profile

命令行执行nvcc -V,就可查看到cuda信息。

5、然后很多教程会说去/usr/local/cuda/samples/1_Utilities/deviceQuery去测试,但你会发现安装完没有这个目录,是因为cuda版本升级后测试程序不再包含在内,可以去github上单独下载这个包,下载完后进入samples/1_Utilities/deviceQuery中执行make,然后./deviceQuery 出现PASS表示cuda正确安装。

八、cudnn安装

1、去官网cuDNN Archive | NVIDIA Developer下载cudnn,需要注册。下载完成后是个tar.xz文件,解压tar -xf 即可。

2、开始复制cudnn中的文件到cuda中

     cp cudnn/include/cudnn.h /usr/local/cuda/include/

     cp cudnn/lib/libcudnn* /usr/local/cuda/lib64/

     chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

这样cudnn就算安装完成了。

你可能感兴趣的:(软件安装,linux,运维,服务器)