【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn

引言

笔者学校服务器的系统是Ubuntu 16.04 ,显卡GeForce RTX 2080Ti。
想将cuda升级到11.3,以及一系列的cudnn+驱动的升级

1. 驱动升级

查看Ubuntu的显卡版本

lspci | grep -i vga

只返回了16进制码,查询地址:http://pci-ids.ucw.cz/mods/PC/10de/2204
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第1张图片

官网地址:https://www.nvidia.cn/geforce/drivers/

1.1 找到合适自己的版本
打开上述官网地址,按键盘上的F12,点击Console或者控制台【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第2张图片
然后在下方小箭头处 ,粘贴下面的代码后(可以查看最新往前200个旧版本),按回车

SystemScanner.prototype.DriverSearch = function(psid, pfid, osID, langCode, whql, beta, dltype, numresults ) {numresults=200;this.scannerStatusUpdate(GFE_SERVER_CONNECTING);theScanner.scannedDevice.downloadInfo=new Object();var parameters='psid='+psid;parameters+='&pfid='+pfid;parameters+='&osID='+osID;parameters+='&languageCode='+langCode;parameters+='&beta='+beta;parameters+='&isWHQL='+whql;parameters+="&dltype="+dltype;parameters+="&sort1=0";parameters+="&numberOfResults="+numresults;var requestUrl=this.driverManualLookupUrl+parameters;this.driversLogUIEvent("warn","SUID:"+this.tracker.scanID+" BEGIN DriverSearch requestUrl:"+requestUrl);this.debugTrace(requestUrl);jQuery.ajax({url:requestUrl,async:false,type:'get',success:function(response){try{theScanner.debugTrace("The Driver Lookup Service Returned:\n\n("+response+")");if(response.length>0){theScanner.resetResults();var driverLookupJsonObj='('+response+')';theScanner.resultsList=new Object();theScanner.resultsList=eval(driverLookupJsonObj)}if(theScanner.resultsList.Success==0){theScanner.scannerStatus="No driver available"}else{theScanner.scannerStatus="Results Ready"}}catch(e){this.driversLogUIEvent("error"," FAIL catch DriverSearch");theScanner.resetResults();theScanner.scannerStatus="No driver available"}},error:function(response){theScanner.resetResults();theScanner.scannerStatus="AJAX Call failed"}});this.driversLogUIEvent("warn","SUID:"+this.tracker.scanID+" END DriverSearch requestUrl:"+requestUrl);}

【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第3张图片
此时,可以看到更多旧版本的驱动,根据想要安装的CUDA的版本选择驱动的版本,不要太新了
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第4张图片
版本对应
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第5张图片
1.2 找到对应的版本,下载安装包:
如果和笔者需要的版本一致的这里附上下载链接
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第6张图片
链接:https://pan.baidu.com/s/1yStk0RVw0PLW7jmqqSkPbQ
提取码:b2c4
可以看到选定版本支持服务器的配置
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第7张图片

接下来就开始在服务器上安装驱动

1.3 卸载现有驱动,重新安装

sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*

直到下面的命令不输出任何内容,则卸载成功

sudo dpkg --list | grep nvidia-*

若仍然有输出,且输出中包含“rc”则说明‘被移除/卸载,但它的配置文件仍然存在’,终端输入如下命令,#清理dpkg的列表中有“rc”状态的软件包

sudo dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
#  再次输入
sudo dpkg --list | grep nvidia-*

不再输出任何信息,接下来执行安装命令

# 进入安装包文件夹
sudo bash NVIDIA-Linux-x86_64-470.57.02.run -no-opengl-files -no-x-check

其中添加-no-opengl-files -no-x-check是为了解决如下问题
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第8张图片
网上找了很多方法,比如禁用指令sudo service lightdm stop,安装后在启用sudo service lightdm start,都未能解决上述问题。所以可以直接尝试上述的方法。

接下来开始继续安装(笔者只留下部分截图,没有截图的用文字描述):

  • 1.The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续
  • 2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续
  • 3.Nvidia’s 32-bit compatibility libraries? 选择 No 继续

在这里插入图片描述

  • Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择Yes 继续

在这里插入图片描述
安装完毕,在终端输入指令显示如下

nvidia-smi

【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第9张图片

2. CUDA升级

官网地址:https://developer.nvidia.com/cuda-downloads

目前官网已经升级到cuda11.4,但是没有Ubuntu16.04的系统,因此找到之前发布的版本:
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第10张图片
选择匹配的版本
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第11张图片

【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第12张图片
执行官网的安装指令(也可以选择其他两种方式进行安装)

wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run

【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第13张图片

  • 1.终端显示“Do you accept the previously read EULA?” 输入accept
    【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第14张图片
  • 关键一步!!!终端显示“Install NVIDIA Accelerated Graphics Driver for
    Linux-x86_64 384.81?”一定要输入no!!!!!
    【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第15张图片
  • 一路 yes
  • 【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第16张图片
    最终在终端显示如下,则说明安装成功:
    【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第17张图片
    安装完成后可在 /usr/local/ 下看到安装好的cuda
cd /usr/local/ 
ls

在这里插入图片描述

3. cudnn

官网地址:https://developer.nvidia.com/cudnn

一定要与上面的CUDA进行匹配,cudnn的下载是需要注册登录的。
进入官网,选择指定的版本。
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第18张图片
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第19张图片
下载之后进入压缩包所在文件夹,执行解压指令:

tar zxvf cudnn-11.3-linux-x64-v8.2.1.32.tgz

【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第20张图片
在路径中生成cuda文件夹,然后复制 lib64 和 include 文件夹到 /usr/local/cuda-11.3,命令如下:

sudo cp cuda/include/cudnn.h /usr/local/cuda-11.3/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.3/lib64
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h /usr/local/cuda-11.3/lib64/libcudnn*
nvcc -V

终端显示如下:
【Ubuntu】16.04服务器:驱动更新+cuda11+cudnn_第21张图片

你可能感兴趣的:(ubuntu,ubuntu,cuda)