Ubuntu 安装 CUDA 与 CUDNN GPU加速引擎

2023-09-20 15:49:25

一、NVIDIA(英伟达)显卡驱动安装

        NVIDIA显卡驱动可以通过指令sudo apt purge nvidia*删除以前安装的NVIDIA驱动版本,重新安装。

1.1. 关闭系统自带驱动nouveau

        注意!在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau:可以先通过指令lsmod | grep nouveau查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。

在这里插入图片描述

  • 我的电脑有有输出,表示nouveau启动了,下面进行nouveau的禁用:
  • 在终端输入sudo gedit /etc/modprobe.d/blacklist.conf弹出blacklist.conf文件:

在这里插入图片描述

  • 在blacklist.conf文件末尾加上这两行,并保存:
blacklist nouveau
options nouveau modeset=0
  • 然后在终端中输入:
sudo update-initramfs -u  #应用更改
  • 重启,就禁止了ubuntu20.04自带的nouveau显卡驱动了,接下来我们就可以安心的安装NVIDIA510.54版本的驱动程序了。

2.2. NVIDIA驱动安装

        ubuntu20.04 安装NVIDIA驱动很容易,只只需要打开系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。

在这里插入图片描述
        NVIDIA(英伟达)显卡驱动安装完成后,在终端输入nvidia-smi输出如下图所示的结果就表示安装成功了。下图中绿色框内表明,安装的驱动支持的CUDA最高版本为11.4(注意这里需要重新启动电脑)。

在这里插入图片描述

二、安装CUDA

2.1. 下载与安装CUDA

        如下图所示,这里以CUDA11.0.2为例,介绍ubuntu20.04系统上CUDA的安装。我们可以从NVIDIA官网CUDA下载页面,网址为https://developer.nvidia.com/cuda-toolkit-archive,点击CUDA Toolkit 11.0.2下载相应版本的CUDA11.0.2。

在这里插入图片描述
        在如下图所示的界面,以此选择Linux→\to→x86_64→\to→Ubuntu→\to→20.04。然后弹出三种安装方法,根据安装经验这里推荐采用runfile(local)方法,即选择如下图中的红圈中的选项。这是由于CUDA的安装过程需要很多依赖库文件,CUDA的run文件虽然比另外两种安装方法的文件大,但是它包含了所有的依赖库文件,所以采用相对来说很容易安装成功。

在这里插入图片描述
        在安装CUDA11.0之前需要首先安装一些相互依赖的库文件:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

        下面为安装CUDA11.0.2的Ubuntu安装指令:

wget https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run

        运行上面指令后,会弹出如下界面,点击Continue,然后再输入accept

在这里插入图片描述在这里插入图片描述
        接着,如下图所示,在弹出的界面中通过Enter键,取消Driver450.51.05的安装,然后点击Install,等待

在这里插入图片描述

2.2. 配置CUDA的环境变量

        CUDA安装完成后,需要配置变量环境才能正常使用。首先在终端输入sudo gedit ~/.bashrc打开如下图所示的.bashrc文件。
然后,如下图所示在.bashrc文件的最后添加以下CUDA环境变量配置信息(我从不同的文章中看到这里添加的信息不仅相同,目前还不太清楚具体含义,所以这里仅仅罗列出它们):

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

        或

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

在这里插入图片描述

注意:上面的CUDA环境变量配置方法有很多,本文的配置方法中的cuda不要指定具体的版本,主要是为了电脑中多个CUDA版本的切换。

        最后,在终端输入source ~/.bashrc或者重新启终端使之生效。这时,我们就可以在终端输入nvcc -V查看CUDA的安装信息,如下图所示,至此CUDA安装成功。

在这里插入图片描述

2.3. CUDA测试

        系统安装CUDA包括两个部分:NVIDIA CUDA GPU计算工具包和NVIDIA CUD示例包两个部分。
如下图所示,Ubuntu20.04系统会默认地将CUDA的NVIDIA GPU计算工具包安装到/usr/local/文件夹下面,可以看到该文件夹下多了两个文件夹cudacuda-11.0

在这里插入图片描述
        对CUDA安装是否成功,需要进入NVIDIA CUDA示例包,其位于/home/liang/NVIDIA_CUDA-11.0_Samples内,在该文件夹下打开终端,并输入make。然后进入1_Utilities/deviceQuery文件夹,并在终端执行./deviceQuery 命令,如下result=PASS则表示安装成功。

在这里插入图片描述

三、cuDNN的安装与检测

3.1. cuDNN的安装

        从NVIDIA官网的cudnn下载页面上下载与安装CUDA对应的cudnn,网址为https://developer.nvidia.com/rdp/cudnn-download。选择Ubuntu20.04系统下,CUDA11.0.2对应的CUDNN v8.0.5版本,如下图所示:

在这里插入图片描述
        对下载的cudnn-11.0-linux-x64-v8.0.5.39.tgz进行解压操作,得到一个文件夹cuda,命令为:

tar -zxvf cudnn-11.0-linux-x64-v8.0.5.39.tgz

        然后,使用下面两条指令复制cuda文件夹下的文件到/usr/local/cuda-11.0/lib64//usr/local/cuda-11.0/include/中。

cp cuda/lib64/* /usr/local/cuda-11.0/lib64/
cp cuda/include/* /usr/local/cuda-11.0/include/

        拷贝完成后,我们可以使用如下的命令查看CUDNN的信息:

cat /usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

3.2. CUDNN的检测

        从NVIDIA官网的cudnn下载页面上下载三个.deb格式的检测文件,如下图所示:

在这里插入图片描述        在终端输入如下命令安装下载的三个.deb格式的检测文件:

dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.0_amd64.deb
dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.0_amd64.deb
dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb

        通过上面三条指令,CUDNN的测试文件会自动安装在系统的/usr/src/cudnn_samples_v8文件夹下,进入mnistCUDNN下,执行命令make clean && make。如果结果如下图所示,则表示CUDNN安装成功。

四、CUDA的卸载

        进入到/usr/local/cuda-11.0/bin目录下,而不是cuda目录。然后打开终端,输入sudo ./cuda-uninstaller

在这里插入图片描述

        输入命令后,弹出如下界面,通过回车键选中三个选项,最后选中Done。执行完下面指令后,上面的cuda文件就删除了。
在这里插入图片描述
        最后,在终端输入命令sudo rm -rf /usr/local/cuda-11.0,就可以最终删除安装CUDA11.0和CUDNN v8.0.5了。

更多推荐

PostgreSQL16源码包编译安装

一、安装环境操作系统:CentOSLinuxrelease7.8.2003(Core)PostgreSQL版本:16服务器IP地址:192.168.0.244Firewalld关闭、selinux关闭笔者本次选用最新v16版本进行部署二、pg数据库安装包下载下载地址:https://www.postgresql.org

第八章 排序

一、插入排序不带哨兵voidInsertSort(intA[],intn){inti,j,temp;for(i=1;i<n;i++){if(A[i]<A[i-1]){temp=A[i];for(j=i-1;j>=0&&A[j]>temp;--j){A[j+1]=A[j];}A[j+1]=temp;}}}带哨兵voidI

二分与前缀和

目录🍈前言❤二分🌹二分🌼数的范围🌼数的三次方根🌼特殊数字🌼机器人跳跃问题🌼四平方和🌼分巧克力🌹前缀和🌼前缀和🌼子矩阵的和🌼激光炸弹🌼K倍区间🍈前言❤二分整数二分模板中,一个比较坑的点,就是C++整数向下取整的机制,考虑到这点,你才能写出AC100%的代码关键在于1,对if()后面条件的判断2

SAP CRM 模块:概述,体系结构

前言CRM代表“客户关系管理”,是一组有助于以有组织的方式管理客户关系的方法和工具。在当今竞争激烈的商业环境中,顶级公司的注意力越来越集中于其最有价值的资产–客户。因此,这些公司需要一种合适的软件解决方案来迎合其客户,该解决方案易于使用,易于定制,完全集成并且可以灵活实施。客户关系管理是一种用于优化客户互动的业务策略。

MD5加密算法

1、简介MD5在90年代初由MIT的计算机科学实验室和RSADataSecurityInc发明,经MD2、MD3和MD4发展而来。MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理

编程小白如何学习RPA,0基础学习RPA攻略!

对于编程小白来说,学习RPA(机器人流程自动化)可能会感到有些无从下手。然而,只要按照一定的步骤和策略进行学习,从0开始掌握RPA并非难事。一、了解RPA的基本概念和优势在开始学习RPA之前,首先需要了解RPA的基本概念、特点和优势。RPA是一种使用自动化工具模拟人类在计算机上执行操作的技术,它可以帮助企业实现重复性、

第36章_瑞萨MCU零基础入门系列教程之步进电机控制实验

本教程基于韦东山百问网出的DShanMCU-RA6M5开发板进行编写,需要的同学可以在这里获取:https://item.taobao.com/item.htm?id=728461040949配套资料获取:https://renesas-docs.100ask.net瑞萨MCU零基础入门系列教程汇总:https://b

Spring Boot 简介与入门

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

数据结构:树和二叉树之-堆排列 (万字详解)

目录树概念及结构1.1树的概念1.2树的表示​编辑2.二叉树概念及结构2.1概念2.2数据结构中的二叉树:​编辑2.3特殊的二叉树:​编辑2.4二叉树的存储结构2.4.1顺序存储:2.4.2链式存储:二叉树的实现及大小堆排列1功能展示2定义基本结构3初始化4打印5销毁6插入7向上调整8交换两数组元素之间的值9删除10向

Kubernetes(K8S)集群部署

目录一、创建3台虚拟机二、为每台虚拟机安装Docker三、安装kubelet3.1安装要求3.2为每台服务器完成前置设置3.3为每台服务器安装kubelet、kubeadm、kubectl四、使用kubeadm引导集群4.1master服务器4.2node1、node2服务器4.3初始化主节点4.4work节点加入集群

【C语言趣味教程】(1) 深入浅出 HelloWorld:通过 HelloWorld 展开教学 | 头文件详解 | main 函数详解

🔗《C语言趣味教程》👈猛戳订阅!!!💭写在前面:这是一套C语言趣味教学专栏,目前正在火热连载中,欢迎猛戳订阅!本专栏保证篇篇精品,继续保持本人一贯的幽默式写作风格,当然,在有趣的同时也同样会保证文章的质量,旨在能够产出"有趣的干货"!本系列教程不管是零基础还是有基础的读者都可以阅读,可以先看看目录!标题前带星号(

热文推荐