NVIDIA驱动安装
背景
在运行nvidia-smi命令后报错
Failed to initialize NVML: Driver/library version mismatch
原因是NVIDIA 内核驱动版本与系统驱动不一致。
需要重新安装NVIDIA内核驱动
卸载已有nvidia驱动
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
安装步骤
1. 查看显卡版本:
lspci |grep VGA
可以看到版本为1e81.
在网站
http://pci-ids.ucw.cz/mods/PC/10de?action=help?help=pci
上面输入版本号,然后点击jump后可以获得相应版本。
2. 查看cuda和显卡版本的对应关系
cat /usr/local/cuda/version.txt
在网站上查看对应关系
因此只需要安装版本号>=440.33的驱动即可
3. 安装NVIDIA驱动
- 方法一: 官网
https://www.nvidia.cn/geforce/drivers/
但是因为官网上不会显示所有的版本,参考https://www.zhihu.com/question/396697731/answer/1449872077
的解决方法即可
按F12点击控制台或console -> 右键 -> 清除控制台 -> 粘贴以下代码 -> 回车 -> 关闭控制台小窗口
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);}
- 方法二:在网站https://download.nvidia.com/XFree86/Linux-x86_64/上寻找相应的版本即可
安装命令:
sudo sh NVIDIA-Linux-x86_64-440.44.run
安装成功
查看驱动版本,输出显卡配置。
cat /proc/driver/nvidia/version
nvidia-smi