最新CUDA环境配置教程(ubuntu 20.04 + cuda 11.7 + cuDNN 8.4)_ubuntu设置cuda地址-程序员宅基地

技术标签: python  c++  图像处理  深度学习  人工智能  

ubuntu 20.04 CUDA 11.7 cuDNN 8.4 环境配置教程

本教程可以在完全命令行完成, 你可以只需要用ssh连接主机就好.

本教程适配环境:

  • ubuntu 20.04
  • cuda 11.7
  • cudnn 8.4

1.查看是否有合适的GPU

在命令行输入:

lspci | grep -i nvidia

输出:

00:07.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)

2.查看系统版本,我用的是ubuntu 20.04:

在命令行输入:

uname -m && cat /etc/*release

输出:

x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

3.验证系统GCC版本:

在命令行输入:

gcc --version

输出:

gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

4.通过下面的地址下载安装包:

https://developer.nvidia.com/cuda-downloads

在这里插入图片描述

比如我这里是Ubuntu 20.04, 那么我选择的是Linux -> x86_64 -> Ubuntu -> 20.04 -> runfile(local)

这里奉劝各位一句, 如果你实在是新手, 可以选择deb(local)

我这里用的是wget的下载命令, 如果大家网速不行, 建议可以手动复制wget后面的网址, 然后在浏览器打开进行下载

在命令行输入:

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run

在这里插入图片描述

5.禁用系统自带的显卡驱动

在命令行输入:

sudo touch /etc/modprobe.d/blacklist-nouveau.conf
sudo vim /etc/modprobe.d/blacklist-nouveau.conf

然后将下面的内容添加到/etc/modprobe.d/blacklist-nouveau.conf中并保存:

blacklist nouveau
options nouveau modeset=0

更新一下

sudo update-initramfs -u

输出:

update-initramfs: Generating /boot/initrd.img-5.4.0-110-generic

这里需要重启一下

sudo reboot

6.安装cuda程序

找到我们在之前下载.run文件

在命令行输入:

sudo sh cuda_11.7.0_515.43.04_linux.run

运行之后可能要稍微等一小段时间, 20~30秒左右, 系统在解压文件并加载, 不用着急.

然后需要你先接受使用协议:

在这里插入图片描述

然后选择安装:

这里可以明确的看到, 它会帮你自动安装好所需要的驱动, 这里建议使用它的会比较好.包括:驱动,toolkit,demo和文档都可以安装好.
在这里插入图片描述

然后界面会跳回之前的界面, 稍等, 这里在安装东西, 大家不要慌.

在这里插入图片描述

等待安装完毕会有如下界面:

在这里插入图片描述

这就完了吗? 当然不是!

7.将CUDA路径加入系统环境

在安装完成后, 我们需要将cuda的路径写入系统环境变量中, 让系统能够找到CUDA.

这里需要你用VIM或者gedit打开~/.bashrc:

这里再次强调一下, 如果没学过vim的同学可以学一下, 在Linux中用的非常多, vim工具也很简单, 就是一个文本编辑工具
vim ~/.bashrc

然后将下面的内容放在.bashrc文件的最后面

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

在这里插入图片描述

然后输入:

source ~/.bashrc
sudo ldconfig

这两步是来更新系统环境的

8.验证安装

查看nvcc:

nvcc -V

在这里插入图片描述

查看你的系统GPU参数, 运行deviceQuery:

 /usr/local/cuda/extras/demo_suite/deviceQuery

在这里插入图片描述

特别注意一点:现在安装方式把原来老版本中samples文件夹替换成了demo_suit, 原来完整版的samples请前往GITHUB下载:
https://github.com/NVIDIA/cuda-samples

9.cuDNN下载

下载地址:
https://developer.nvidia.com/rdp/cudnn-download
在这里插入图片描述

将下载的tar文件上传到设备上

解压缩文件:

tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz

在这里插入图片描述

10.cuDNN安装

将下载好的.h文件和lib文件放到cuda文件夹目录下:

注意这里的cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive可能会因为你是用别的版本而稍有不同, 请使用别的版本的同学自行更改

sudo cp cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/include/cudnn*.h /usr/local/cuda/include 

sudo cp -p cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/lib/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

OK! 到这里就全部安装好了, 希望对大家有用.

另外再强调一点, 在Linux上开发, 真的建议广大初学者从命令行开始入手!!!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/kunhe0512/article/details/125061911

智能推荐

3dmax学习9——镜像工具_max9镜像插件-程序员宅基地

文章浏览阅读287次。视频学习网址:https://www.bilibili.com/video/av18210293/?p=39画一个茶壶:点击镜像按钮:选择以y轴镜像、选择复制:即可。_max9镜像插件

ButterKnife:一键生成代码(解决不能生成)_butterknife 快速生成-程序员宅基地

文章浏览阅读5.7k次。然后在r.layout**右击就可以生成了。也解决了,右击布局不能一键生成的问题。_butterknife 快速生成

使用CNN(convolutional neural nets)检测脸部关键点教程(四):学习率,学习势,dropout_cnn预测关键角点-程序员宅基地

文章浏览阅读6.4k次。第七部分 让 学习率 和 学习势 随着时间改变,让模型训练的更快。第八部分,dropout技巧用作正则化,让模型取得更优的泛化能力。_cnn预测关键角点

set去重-程序员宅基地

文章浏览阅读472次。今天我们来学=学习一下set如何实现去重的相关内容。ES6中新增了set数据结构,类似于数组,其构造函数可以接受一个数组作为参数,我们先来看一下代码:<script> let array = [1, 1, 1, 2, 2, 2, 3, 3, 4]; let set = new Set(array); console.log(set);&..._set函数去重

最近插入法和最近邻点法-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏75次。Hamilton回路问题求解本文分别以最近邻点法和最近插入法求解TSP问题中的Hamilton回路问题。用以下例题作为求解案例V1V2V3V4V5V6V101068715V21005201516V36501478V4820140412V57157406V6151681260最近邻点法最近邻点法的主要逻辑是通过寻找离当前顶点最近的顶点来寻找回来,这样的计算方式比较简便_最近插入法

oracle基础积累-使用ROW_NUMBER() OVER函数去重_row_number() over partition by去重-程序员宅基地

文章浏览阅读5.9k次,点赞3次,收藏17次。场景: 去重.环境: Oracle Database 11g; PL/SQL Developer1.去重 思路:ROW_NUMBER() OVER(PARTITION BY 需要去重字段 ORDER BY 选择排序字段 DESC) 为指定的去重字段,标上行号,如果有重复的,选中行号为1的就可以.SELECT * FROM (SELECT..._row_number() over partition by去重

随便推点

用Sympy计算高次方程的判别式_高次方程判别式-程序员宅基地

文章浏览阅读2k次。利用Sympy计算多项式方程的判别式_高次方程判别式

2019-05-17 ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1558053651-程序员宅基地

文章浏览阅读629次。看了一博客 让我比较汗颜 因为我现在总是遇到问题 就是百度好像已经变成我唯一解决问题的方式了下图摘自一博客链接:https://blog.51cto.com/it3246/1889635看了后有些感悟 与大家共勉下下面开始解释问题命令1:abrt-cli list --since 1558053651可以看到引起这个问题的原因了意思大概可以看出是..._for more info run abrt

将应用程序提交到spark环境并将结果输出到hdfs_spark dataframe输出到hdfs源码-程序员宅基地

文章浏览阅读6k次。我们在“hadoop学习1--hadoop2.7.3集群环境搭建” “spark学习1--centOS7.2下基于hadoop2.7.3的spark2.0集群环境搭建” 中已经将hadoop、spark的集群环境都搭建起来了,jdk用的是1.7版本的。 1.启动hadoop集群 centOS7服务器3台 master 192.16_spark dataframe输出到hdfs源码

用MATLAB实现求椭球上任意两点的最短弧长_椭球面上两点之间的最短距离-程序员宅基地

文章浏览阅读9.4k次,点赞33次,收藏107次。基于法向矢量导向的求椭球上两点的最短弧长问题分析求椭球上任意两点间的最短弧长用数学来推算解析解的话十分复杂,因此考虑通过使用计算机来近似求解。问题的难点在于怎样让每一步都是处在最优的状态,以及怎样使每一步的方向都尽量处在该点能够选择的最优方向上。求椭球上两点的最短路,很容易想到用传统的最短路算法如迪杰斯特拉算法或弗洛伊德算法求解,但是在椭球将步长离散化后,构造以及运用邻接矩阵十分复杂,在保证..._椭球面上两点之间的最短距离

oracle禁用账户,禁用用户帐户 (Sun Identity Manager 8.1 业务管理员指南)-程序员宅基地

文章浏览阅读1.1k次。禁用用户帐户在禁用用户帐户时,将会更改该帐户,以使用户无法再登录到 Identity Manager 或为其分配的资源帐户。请注意,管理员可以从管理员界面中禁用用户帐户,但无法锁定用户帐户。仅当用户超过了 Identity Manager 帐户策略定义的允许的失败登录尝试次数时,才会将帐户锁定。注 –如果分配的资源没有为帐户禁用提供本机支持,但支持密码更改,则可以将 Identity Manage..._oracle 禁用用户

【Android 自定义 View】-->验证码输入框_android 验证码输入框-程序员宅基地

文章浏览阅读972次,点赞2次,收藏13次。我们在项目中可能会遇到修改用户名及密码的需求,为保证一定的完全性,服务端一般会接入短信验证码的功能。_android 验证码输入框