IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> ubuntu21.04安装cuda和cudnn -> 正文阅读

[Python知识库]ubuntu21.04安装cuda和cudnn

1、安装显卡驱动

安装流程

https://blog.csdn.net/tankpanv/article/details/119337770

2.ubuntu21.04环境下NVIDIA显卡驱动以及CUDA、CUDNN安装

参考原文:https://zhuanlan.zhihu.com/p/369713724

2.1安装版本

根据后续安装包的兼容性,选择cuda11.1.0版本。具体程序包为cuda_11.1.0_455.23.05,该程序包包含了GPU驱动,版本为455.23.05;仅安装cuda应该可以实现同步驱动显卡,但是测试的过程中同步安装驱动会出错,原因未知。

使用ubuntu自带的软件与驱动安装程序安装显卡驱动,安装版本为nvidia-driver-460-server。在安装cuda前,需要安装gcc-9.3.0

(cuda11.1.0对应的kernel为5.4.0,default gcc为9.3.0,glibc为2.31,参考nvidia官网)

参考:https://docs.nvidia.com/cuda/archive/11.1.0/cuda-installation-guide-linux/index.html

2.2配置国内ubuntu源

编辑/etc/apt/sources.list文件, 在文件最前面添加以下条目(操作前做好相应备份)

cd /etc/apt
sudo cp sources.list sources.list.bak
sudo vim sources.list
#增加阿里云,在source.list文件开头增加如下内容
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#保存并更新
sudo apt update
sudo apt upgrade

2.3安装多版本gcc并配置默认版本

安装 gcc-9、gcc-10并在系统中并存:

1、安装gcc-8、gcc-9、gcc-10

sudo apt install gcc-8 g++-8 gcc-9 g++-9 gcc-10 g++-10

2、以下命令为每个版本配置替代版本,并将优先级与之关联。默认版本是优先级最高的版本,在本例中为gcc-10。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8

3、切换gcc版本

sudo update-alternatives --config gcc

4、分别查看内核、gcc、glibc版本

uname -a
gcc --version
ldd --version

本例中系统版本为ubuntu21.04,5.11.0-16-generic,gcc-9.3.0,ldd2.33

2.4显卡驱动、cuda及cudnn安装

第1步,禁用自带的显卡驱动

sudo vi /etc/modprobe.d/blacklist-nvidia-nouveau.conf
#增加如下两行
blacklist nouveau
options nouveau modeset=0
#更新系统并重启系统
sudo update-initramfs -u
#查看是否成功禁用,无输出说明禁用成功
lsmod | grep nouveau

第2步,安装显卡驱动

使用自带的软件和更新管理程序安装nvidia显卡驱动,本例选择nvidia driver 460 server版本

第3步,下载并安装cuda

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh ./cuda_11.1.0_455.23.05_linux.run
###

将显卡驱动前的x去掉,这一步骤不再安装显卡驱动安装会提示:

Driver: Installed
Toolkit: Installed in /usr/local/cuda-11.1/
Samples: Installed in /home/user/, but missing recommended libraries

Because some CUDA samples use third-party libraries which may not be installed by default on your system.

部分第三方库未默认安装,不用管这个问题。

这里如果发现安装cuda失败参考下面:https://blog.csdn.net/weixin_41010198/article/details/109367449

?

#如果遇到其他驱动相关的问题

参考这篇博客显卡驱动的安装,绝大部分cuda安装的问题都是由于驱动问题导致的!

查看是否同时安装了多个驱动版本:

dpkg -l | grep Nvidia

删除旧版本的驱动:

sudo apt-get purge nvidia*

或

sudo apt-get remove --pure nvidia\*

避免安装的时候存在多个驱动,导致安装失败:

sudo sh ./cuda_10.2.<spec>.run --toolkit --silent --override

第4步,配置环境变量

gedit ~/.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

在安装的过程中,程序安装在了/usr/local/cuda-11.1,但是安装后已经默认建立了软连接 /usr/local/cuda <----/usr/local/cuda-11.1,环境变量指向/usr/local/cuda即可

第5步,测试cuda安装

方法一:(这里我的cuda没有生成sample文件,所以使用第二种方式验证的)

cd ~/NVIDIA_CUDA-11.1_Samples/1_Utilities/deviceQuery
make
./deviceQuery

显示Result = PASS,表示安装成功

方法二

然后用命令“nvcc -V”进行测试

即如下的代码

nvcc -V

运行的结果如下?

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:10:02_PDT_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.TC455_06.29069683_0

第6步,安装cudnn

下载:(因为NVIDIA默认需要登录才可以下载,我这里按原文下载会提示403 forbiden)

wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.1_20201106/Ubuntu20_04-x64/libcudnn8_8.0.5.39-1+cuda11.1_amd64.deb
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.1_20201106/Ubuntu20_04-x64/libcudnn8-dev_8.0.5.39-1+cuda11.1_amd64.deb
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.1_20201106/Ubuntu20_04-x64/libcudnn8-samples_8.0.5.39-1+cuda11.1_amd64.deb

所以这里需要手动到官网注册账号下载的:https://developer.nvidia.com/rdp/cudnn-archive

?下载完成后按照以下顺序安装

安装:

sudo dpkg -i libcudnn8_8.1.0.77-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.1.0.77-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.1.0.77-1+cuda11.2_amd64.deb

测试安装效果:

#复制cuDNN samples到home目录下
cp -r /usr/src/cudnn_samples_v8 /$HOME
#进入home目录
cd $HOME/cudnn_samples_v8/mnistCUDNN/
#编译mnistCUDNN
sudo make clean
sudo make
#运行mnistCUDNN
sudo ./mnistCUDNN

显示test passed说明安装成功。

如果测试遇到问题参考下面方法

编译mnistCUDNN时出错:fatal error: FreeImage.h: No such file or directory

4. 执行“sudo make”时候可能会报以下编译错误 fatal error: FreeImage.h

?
mnistCUDNN ?sudo make
CUDA_VERSION is 11010
Linking agains cublasLt = true
CUDA VERSION: 11010
TARGET ARCH: x86_64
HOST_ARCH: x86_64
TARGET OS: linux
SMS: 35 50 53 60 61 62 70 72 75 80 86
test.c:1:10: fatal error: FreeImage.h: No such file or directory
? ? 1 | #include "FreeImage.h"
? ? ? | ? ? ? ? ?^~~~~~~~~~~~~
compilation terminated.
5. 执行

sudo apt-get install libfreeimage3 libfreeimage-dev


6. 重新编译后,运行

./mnistCUDNN


7.出现 Test passed! 代表 cudnn 正常使用
?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-08 11:17:17  更:2021-08-08 11:19:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 0:18:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计