1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Ubuntu 20.04安装GTX 1060显卡驱动+cuda 11.4 + cudnn 8 nvidia-smi 报错:NVIDIA-SMI has failed

Ubuntu 20.04安装GTX 1060显卡驱动+cuda 11.4 + cudnn 8 nvidia-smi 报错:NVIDIA-SMI has failed

时间:2023-07-11 03:30:42

相关推荐

Ubuntu 20.04安装GTX 1060显卡驱动+cuda 11.4 + cudnn 8 nvidia-smi 报错:NVIDIA-SMI has failed

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):GitHub - zq2599/blog_demos: CSDN博客专家程序员欣宸的github,这里有六百多篇原创文章的详细分类和汇总,以及对应的源码,内容涉及Java、Docker、Kubernetes、DevOPS等方面

本篇概览

台式机是购买的惠普暗隐精灵3代,显卡GTX1060,本文记录了此机器安装Ubuntu 16.04.7 LTS,再安装Nvidia驱动的过程;另外还有一些避坑的小结,如果您遇到了类似问题可以拿来参考;

纯净Ubuntu系统

先安装Ubuntu16 LTS桌面版U盘安装,我这里是惠普台式机,启动时出现惠普LOGO的时候,多次点击F10,进入bios,启动顺序选择U盘启动,然后在页面指导下顺利安装Ubuntu系统

需要注意的地方

网上很多安装文档中提到了要在BIOS设置中关闭secure boot,我这里没有找到这个选项,所以就跳过了没做,依然可以安装成功,只是在安装完驱动后的几步操作必不可少,需要按照文章中的操作执行;

开启远程ssh

登录进入Ubuntu桌面,打开控制台,执行以下命令,安装ssh服务:

sudo apt-get install openssh-server

启动ssh服务

sudo service ssh start

接下来的操作,我全都是从另一台电脑ssh远程连接到这个Ubuntu16电脑上操作的

换源

备份:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bk

-修改/etc/apt/sources.list为以下内容:

deb /ubuntu/ xenial main restricted universe multiversedeb /ubuntu/ xenial-security main restricted universe multiversedeb /ubuntu/ xenial-updates main restricted universe multiversedeb /ubuntu/ xenial-proposed main restricted universe multiversedeb /ubuntu/ xenial-backports main restricted universe multiversedeb-src /ubuntu/ xenial main restricted universe multiversedeb-src /ubuntu/ xenial-security main restricted universe multiversedeb-src /ubuntu/ xenial-updates main restricted universe multiversedeb-src /ubuntu/ xenial-proposed main restricted universe multiversedeb-src /ubuntu/ xenial-backports main restricted universe multiverse

准备工作

删除旧的驱动

sudo apt-get remove --purge nvidia*

屏蔽开源驱动nouveau,首先创建新文件:

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

添加的内容如下:

blacklist nouveauoptions nouveau modeset=0

更新上述配置:

sudo update-initramfs -u

此时执行命令lsmod | grep nouveau还可以看见以下内容,证明刚才的配置还没有生效:

will@ubuntu-hp:~$ lsmod | grep nouveaunouveau 1712128 4mxm_wmi16384 1 nouveaui2c_algo_bit 16384 1 nouveauttm 106496 1 nouveaudrm_kms_helper 172032 1 nouveaudrm 401408 7 drm_kms_helper,ttm,nouveauwmi24576 4 hp_wmi,wmi_bmof,mxm_wmi,nouveauvideo 45056 1 nouveau

为了使刚才的配置生效,请立即重启电脑sudo reboot重启后再次ssh登录,再执行命令lsmod | grep nouveau已经看不见内容了,证明刚才的配置已经生效;

安装驱动

添加官方ppa源

sudo add-apt-repository ppa:graphics-drivers/ppa

更新

sudo apt-get update

查看推荐驱动:

ubuntu-drivers devices

选择驱动后边有(recommended)字样的,如下图红框,我这边是nvidia-430:

开始安装驱动,注意使用您自己看到的推荐驱动:

sudo apt-get install nvidia-430 nvidia-settings nvidia-prime

nvidia-smi指令去取得 GPU 的資訊。唯一得到的訊息是:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

嘗試了安裝不同的版本,指令與圖形化介面都使用過,最後我發現是我並沒有正確地啟用 MOK 管理程序,導致驅動程式沒法正常地運作。

什麼是 MOK?

MOK機器所有者金鑰Machine Owner Key)的縮寫,它是一個保護作業系統元件與驅動程式的開機程序boot process)。

當然,它是基於 BIOS 進行實作的。

最重要的是,我們需要創建一對金鑰,使用『私鑰』對要允許執行的驅動程式進行簽名sign),而『公鑰』則由 MOK 系統用於加密。

解決方式

在安裝 Nvidia 驅動程式的過程中,我們一定有機會可以輸入自己建議的密碼。如果你想重複安裝過程,可以參考使用以下指令來刪除目前已經安裝的 nvidia 套件:

sudo apt purge nvidia-*

而你可能會想要尋找可用於安裝的 nvidia 驅動:

sudo apt search nvidia-driver*

相關的 APT 指令操作可以參考文末連結。

而萬一你錯過了 MOK 的畫面、並且在下次重新啟動時也沒有進入 MOK 畫面,或許你可以執行以下指令來重新進行這些程序:

sudo mokutil --import /var/lib/shim-signed/mok/MOK.der

系統會提示你輸入密碼,並在重新啟動時進入 MOK 畫面。

遇到下图,输入回车:

遇到下图,输入八位数密码,然后还会弹出确认密码的页面,继续输入同样的密码:

安装完成后,重启电脑,然后会有至关重要的一步,请务必要做好

重启时的设置

弹出提示时选择Enroll MOK:

选择Continue:

弹出的菜单选择Yes:

输入刚才设定的密码:

选择reboot:

重启完成后,ssh登录,执行命令nvidia-smi,如下所示,终于装好了:

进入nvidia开发者网站的CUDA下载页面:

CUDA Toolkit Archive​/cuda-toolkit-archive

选择runfile格式的CUDA文件下载,

下载完成后,解压,并运行上图中的命令,会有条款,接受即可,注意安装CUDA的时候不要安装驱动(因为在第一步我们已经安装过了)。

然后,

sudo vim ~/.bashrc

我们在文件最后一行添加:

$ export PATH=/usr/local/cuda-10.1/bin:/usr/local/cuda-10.1/NsightCompute-.1${PATH:+:${PATH}}$ export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

最后,使刚才的配置生效。

source ~/.bashrc

进入/usr/local/cuda-10.1/samples/1_Utilities/目录,

sudo makecd deviceQuery./deviceQuery

出现如下输出,则CUDA安装成功。

3、安装cuDNN

进入下载页面

NVIDIA cuDNN​/cudnn正在上传…重新上传取消

选择合适的版本下载(cuDNN Library for Linux),

然后解压,并进入到相应目录,运行以下命令:

sudo cp cuda/include/cudnn.h /usr/local/cuda-10.1/includesudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*

以配置cuDNN环境。

通过

cat /usr/local/cuda-10.1/include/cudnn.h | grep CUDNN_MAJOR -A 2

可以查看cuDNN版本。

任何程序错误,以及技术疑问或需要解答的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。