大树大 發表於 2022-11-25 10:28:00

ubuntu显卡及驱动

<p>2022-11-25</p>
<h2>一、概述</h2>
<p>计算机的一个重要组成部分是处理器,包括CPU和GPU,CPU包括算数运算和逻辑运算。</p>
<p>通常一个电脑都包含CPU,而不一定配备GPU。GPU更擅长图像处理及矩阵运算,包括目前比较火的机器学习都会用到GPU,当然CPU也可以,只是效率没有GPU高。</p>
<p>GPU的大公司主要是:英伟达、AMD、因特尔、ARM、高通Adreno、景嘉微电子、芯原微电子等等;</p>
<p>而目前主流显卡的显示芯片主要分为:英伟达NVIDIA 和 AMD;</p>
<p>我们这里以 英伟达NVIDIA 为例子。</p>
<p>&nbsp;</p>
<h2 id="articleContentId" class="title-article">二、NVIDIA显卡,显卡驱动和CUDA版本之间的关系</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">NVIDIA显卡:是一款硬件板子,主流是NVIDIA的GPU,深度学习本身需要大量计算。GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求。

显卡驱动:告诉计算机识别显卡硬件,调用其计算资源。

CUDA:是NVIDIA推出的只能用于自家GPU的并行计算框架。只有安装这个框架才能够进行复杂的并行计算。主流的深度学习框架也都是基于CUDA进行GPU并行加速的。还有一个叫做cudnn,是针对深度卷积神经网络的加速库。</span></pre>
</div>
<p>&nbsp;</p>
<h2>&nbsp;三、查看显卡型号及显卡驱动版本</h2>
<p>具体操作步骤:</p>
<p>1、使用快捷键【Ctrl+Alt+T】打开终端;</p>
<p>2、输入以下命令查看显卡版本号。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 查看显卡型号
lspci </span>| <span style="color: rgba(0, 0, 255, 1)">grep</span> -<span style="color: rgba(0, 0, 0, 1)">i nvidia   # 这里以 nvidia 为例子

#或者
ubuntu</span>-drivers devices</pre>
<pre><span>#或者
lshw -c video #查看显卡型号<br></span></pre>
</div>
<p>3、输入以下命令查看显卡驱动版本号:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 查看驱动版本
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dpkg --list | <span style="color: rgba(0, 0, 255, 1)">grep</span> nvidia-*<span style="color: rgba(0, 0, 0, 1)">

# 或者
#查看gpu信息
nvidia</span>-<span style="color: rgba(0, 0, 0, 1)">smi #GPU列表信息
nvidia</span>-settings #显示你的显卡信息</pre>
</div>
<p>4、&nbsp;输入以下命令查看cuda本号:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 查看 cuda 版本
nvidia</span>-<span style="color: rgba(0, 0, 0, 1)">smi

#或者
nvcc </span>--<span style="color: rgba(0, 0, 0, 1)">version
# 或者
nvcc </span>-<span style="color: rgba(0, 0, 0, 1)">V
# 或者 去安装目录下查看:
</span><span style="color: rgba(0, 0, 255, 1)">cat</span> /usr/local/cuda/version.txt</pre>
</div>
<p>这时候&nbsp;</p>
<p id="articleContentId" class="title-article">CUDA版本不同:nvidia-smi和nvcc -V&nbsp;</p>
<p id="articleContentId" class="title-article">nvidia-smi 和 nvcc 结果的版本为何不一致</p>
<p>5、 其他相关操作命令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 查看驱动版本

</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dpkg --list | <span style="color: rgba(0, 0, 255, 1)">grep</span> nvidia-*<span style="color: rgba(0, 0, 0, 1)">

#查看发布版本号

</span><span style="color: rgba(0, 0, 255, 1)">cat</span> /etc/<span style="color: rgba(0, 0, 0, 1)">issue

lsb_release </span>-<span style="color: rgba(0, 0, 0, 1)">a

#查看内核版本号

</span><span style="color: rgba(0, 0, 255, 1)">uname</span> -<span style="color: rgba(0, 0, 0, 1)">sr

</span><span style="color: rgba(0, 0, 255, 1)">uname</span> -<span style="color: rgba(0, 0, 0, 1)">a

#查看CPU信息

</span><span style="color: rgba(0, 0, 255, 1)">cat</span> /proc/cpuinfo | <span style="color: rgba(0, 0, 255, 1)">grep</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">physical id</span><span style="color: rgba(128, 0, 0, 1)">"</span> | <span style="color: rgba(0, 0, 255, 1)">uniq</span> | <span style="color: rgba(0, 0, 255, 1)">wc</span> -<span style="color: rgba(0, 0, 0, 1)">l #查看CPU个数

</span><span style="color: rgba(0, 0, 255, 1)">cat</span> /proc/cpuinfo | <span style="color: rgba(0, 0, 255, 1)">grep</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">cpu cores</span><span style="color: rgba(128, 0, 0, 1)">"</span> | <span style="color: rgba(0, 0, 255, 1)">uniq</span><span style="color: rgba(0, 0, 0, 1)"> #查看CPU核数

</span><span style="color: rgba(0, 0, 255, 1)">cat</span> /proc/cpuinfo | <span style="color: rgba(0, 0, 255, 1)">grep</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">model name</span><span style="color: rgba(128, 0, 0, 1)">'</span> |<span style="color: rgba(0, 0, 255, 1)">uniq</span><span style="color: rgba(0, 0, 0, 1)"> #查看CPU型号

#查看gpu信息

nvidia</span>-<span style="color: rgba(0, 0, 0, 1)">smi #GPU列表信息

nvidia</span>-<span style="color: rgba(0, 0, 0, 1)">settings #显示你的显卡信息

lshw </span>-<span style="color: rgba(0, 0, 0, 1)">c video #查看显卡型号

lspci </span>| <span style="color: rgba(0, 0, 255, 1)">grep</span> -i nvidia #得到NVIDIA显卡的信息</pre>
</div>
<p>&nbsp;</p>
<h2>四、NVIDIA显卡驱动及CUDA官网下载</h2>
<h3>4.1&nbsp;NVIDIA显卡驱动以及CUDA的版本约束</h3>
<p>接下来下载NVIDIA显卡驱动以及CUDA,他们之间有版本约束:</p>
<p>可以通过以下网址查看:&nbsp;https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html</p>
<p><span style="color: rgba(255, 0, 0, 1)">&nbsp;<strong>提醒: 官网下载的cuda一般本身包含&nbsp;NVIDIA显卡驱动,所以不需要再下载NVIDIA显卡驱动,安装cuda会自动安装NVIDIA显卡驱动。</strong></span></p>
<p>&nbsp;</p>
<h3>4.2 NVIDIA显卡驱动下载</h3>
<p>下载官网</p>
<p>输入自己的信息,包括产品类型、系列、产品、操作系统、语言等,然后点击开始搜索,结果在下面:</p>
<p><img src="https://img2022.cnblogs.com/blog/910379/202211/910379-20221125100645277-334779315.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;搜索结果如下:</p>
<p><img src="https://img2022.cnblogs.com/blog/910379/202211/910379-20221125100853556-1189109815.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;根据实际情况选择具体的版本。</p>
<p>&nbsp;</p>
<h3>4.3 CUDA下载</h3>
<p>下载官网:&nbsp;</p>
<p>https://developer.nvidia.com/cuda-toolkit-archive</p>
<p>https://developer.nvidia.com/cuda-downloads</p>
<p>根据情况选择版本及操作系统等。<br><br></p>
<h2>五、安装&nbsp;NVIDIA显卡驱动</h2>
<p>&nbsp;参考更新NVIDIA显卡驱动。</p>
<p>&nbsp;</p>
<h2>六、安装CUDA</h2>
<p>&nbsp;官网教程:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#introduction</p>
<p>&nbsp;安装:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 获取 cuda文件,这里根据自己实际情况选择版本
</span><span style="color: rgba(0, 0, 255, 1)">wget</span> https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run</span>
<span style="color: rgba(0, 0, 0, 1)"># 执行
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">sh</span> cuda_11.<span style="color: rgba(128, 0, 128, 1)">8</span>.0_520.<span style="color: rgba(128, 0, 128, 1)">61</span>.05_linux.run</pre>
</div>
<p>如下:</p>
<p><img src="https://img2022.cnblogs.com/blog/910379/202211/910379-20221125151748209-1644921763.png" alt="" loading="lazy"></p>
<p>cuda配置:</p>
<div class="cnblogs_code">
<pre>gedit ~/<span style="color: rgba(0, 0, 0, 1)">.bashrc
# 文本最后添加以下内容:
export LD_LIBRARY_PATH</span>=$LD_LIBRARY_PATH:/usr/local/cuda/<span style="color: rgba(0, 0, 0, 1)">lib64
export PATH</span>=$PATH:/usr/local/cuda/<span style="color: rgba(0, 0, 0, 1)">bin
export CUDA_HOME</span>=$CUDA_HOME:/usr/local/<span style="color: rgba(0, 0, 0, 1)">cuda
# 保存退出,打开新终端激活
source </span>~/.bashrc</pre>
</div>
<p>cuda 卸载:</p>
<p>再安装好cuda会出现以下提示:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># .run 方式安装
uninstall the cuda toolkit ,run cuda</span>-uninstaller <span style="color: rgba(0, 0, 255, 1)">in</span> /usr/local/cuda-<span style="color: rgba(128, 0, 128, 1)">11.8</span>/<span style="color: rgba(0, 0, 0, 1)">bin
uninstall the NVIDIA Driver, run nvidia</span>-<span style="color: rgba(0, 0, 0, 1)">uninstall
Logfile is </span>/var/log/cuda-installer.log</pre>
</div>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> apt autoremove cuda

cd </span>/usr/local/cuda/bin/
<span style="color: rgba(0, 0, 255, 1)">sudo</span> ./cuda-<span style="color: rgba(0, 0, 0, 1)">uninstaller
# 选中所有cuda相关选项
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -rf /usr/local/cuda-<span style="color: rgba(128, 0, 128, 1)">11.0</span>
<span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -rf /usr/local/cuda</pre>
</div>
<p>&nbsp;</p>
<h2>七、更新NVIDIA显卡驱动</h2>
<p id="articleContentId" class="title-article">Ubuntu更新nvidia显卡驱动的方法主要有两种:</p>
<h3 class="title-article">7.1&nbsp;利用ubuntu系统Software &amp; Updates自动更新</h3>
<p>具体操作步骤:</p>
<p>1.使用快捷键【Ctrl+Alt+T】打开终端命令模式。</p>
<p>2.输入以下命令添加官方ppa源。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> add-apt-repository ppa:graphics-drivers/ppa</pre>
</div>
<p>3.输入密码并按enter键确认。</p>
<p>4.再输入命令刷新软件库</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get update</pre>
</div>
<p>5.安装最新驱动。</p>
<p class="title-article">这里有两种方法:</p>
<p class="title-article">5.1 命令行</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> apt-get <span style="color: rgba(0, 0, 255, 1)">install</span> nvidia-367nvidia-settings nvidia-prime</pre>
</div>
<p>具体的版本根据自己的情况。</p>
<p>5.2 图形界面</p>
<p class="title-article">系统右上角System Settings——Software &amp; Updates——Additional Drivers,选择可用的nvidia驱动版本进行更新即可(可能需要重启)</p>
<p class="title-article"><img src="https://img2022.cnblogs.com/blog/910379/202211/910379-20221125110401326-1536672832.png" alt="" loading="lazy"></p>
<p>5.安装成功后,可以通过以下命令查看是否安装成功。</p>
<div class="cnblogs_code">
<pre>nvidia-settings</pre>
</div>
<p>注意:安装完成后需要重启ubuntu。</p>
<p>7.2&nbsp;提前下载好显卡驱动,禁用系统自带的nouveau驱动,文本模式下进行手动更新</p>
<p>1.&nbsp;查看你的显卡型号</p>
<div class="cnblogs_code">
<pre>lspci | <span style="color: rgba(0, 0, 255, 1)">grep</span> -i nvidia</pre>
</div>
<p>2.先官网下载好对应驱动编译</p>
<p>https://www.nvidia.cn/geforce/drivers/</p>
<p><em>根据显卡型号下载相应驱动版本。</em></p>
<p>3. 禁用nouveau驱动<br>查看是否成功禁用<br>只要是安装过NVIDIA显卡驱动的,nouveau一般都被禁止了。可以通过命令</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">lsmod</span> | <span style="color: rgba(0, 0, 255, 1)">grep</span> nouveau</pre>
</div>
<p>查看。如果没有任何输出就是禁用成功了。否则,请参考禁用步骤。<br>禁用:https://blog.csdn.net/u013832707/article/details/93157805</p>
<p>禁用系统自带的 nouveau驱动方法如下:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#创建配置文件
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> vim /etc/<span style="color: rgba(0, 0, 255, 1)">modprobe</span>.d/blacklist-<span style="color: rgba(0, 0, 0, 1)">nouveau.conf

# 在打开的配置文件里添加如下内容
blacklist nouveau
options nouveau modeset</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">

# 进行更新
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> update-initramfs -<span style="color: rgba(0, 0, 0, 1)">u

#重启,在终端输入如下,如果无输出,则禁用成功
</span><span style="color: rgba(0, 0, 255, 1)">lsmod</span> | <span style="color: rgba(0, 0, 255, 1)">grep</span> nouveau</pre>
</div>
<p>4. 卸载原有驱动</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"># 如果用 .run 安装,用以下命令卸载<br>nvidia-uninstall<br># <br>sudo</span> apt-get remove --purge nvidia*<br># 或者<br>sudo apt autoremove nvidia</pre>
</div>
<p>5.&nbsp;关闭图形界面,进入文本模式</p>
<p>好像高版本不需要关闭图形界面,进入文本模式,即不需要第5部,当然也不需要返回界面。具体是哪个版本之后。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"># <span class="token comment">如果是gnome桌面环境,执行 <br><span class="token function">sudo service gdm3 stop// 我的是这个<br><span class="token comment"># 如果是xfce桌面环境,执行 </span></span></span><br>sudo</span> service lightdm stop//按Ctrl+Alt+F1,关闭图形界面(黑屏)</pre>
</div>
<p>6.&nbsp;开始安装</p>
<p>在文本模式终端,进入下载的驱动程序.run文件目录,分别进行如下操作。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 给文件夹执行权限,记得替换你的文件名
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">chmod</span> +x NVIDIA-Linux-x86_64-<span style="color: rgba(0, 0, 0, 1)">xxx.run
或者
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">chmod</span> a+x NVIDIA-Linux-x86_64-xxx.run <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">修改权限</span>
<span style="color: rgba(0, 0, 0, 1)">
# 开始安装,然后根据弹出界面,一路按 Enter
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> ./NVIDIA-Linux-x86_64-<span style="color: rgba(0, 0, 0, 1)">xxx.run
或者
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> ./NVIDIA-Linux-x86_64-<span style="color: rgba(128, 0, 128, 1)">xxx</span>.run -no-x-check -no-nouveau-check -no-opengl-files <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">安装如果找不到文件,那么说明文件名写错或者文件损坏。</span></pre>
</div>
<p>开始安装后,都是默认设置,一路按 enter ,直接结束。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 测试是否安装成功
nvidia</span>-<span style="color: rgba(0, 0, 0, 1)">smi

# 返回图形界面<br></span></pre>
<pre># <span class="token comment">如果是gnome桌面环境,执行 <br><span class="token function">sudo service gdm3 start// 我的是这个<br><span class="token comment"># 如果是xfce桌面环境,执行 <br>sudo service lightdm start </span></span></span></pre>
</div>
<p>&nbsp;</p>
<h2>八、更新 CUDA</h2>
<p>&nbsp;</p>
<p>cuDNN安装官方教程: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#overview</p>
<p>cudnn卸载:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -rf /usr/local/cuda/include/<span style="color: rgba(0, 0, 0, 1)">cudnn.h
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">rm</span> -rf /usr/local/cuda/lib64/libcudnn*</pre>
</div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/zhangchao0515/p/16924370.html
頁: [1]
查看完整版本: ubuntu显卡及驱动