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知识库 -> 【Linux】安装CUDA和cudnn -> 正文阅读

[Python知识库]【Linux】安装CUDA和cudnn


系统:ubuntu 20.04

参考链接:https://blog.csdn.net/lihe4151021/article/details/90237681

cuda

驱动检查

输入nvidia-smi命令查看支持的cuda版本
提示

Command 'nvidia-smi' not found, but can be installed with:

sudo apt install nvidia-340      
sudo apt install nvidia-utils-390

执行:sudo apt install nvidia-340

安装完成,在执行:nvidia-smi
提示:

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

在这里插入图片描述

驱动下载

安装NVIDIA驱动

1.下载驱动文件

去官网下载和自己的显卡适配的驱动文件,是个.run文件。贴个下载地址:https://www.nvidia.cn/Download/index.aspx
search之后下载就行,记住它下载到了哪个文件夹里,以后会用的到
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载好的链接:https://download.csdn.net/download/weixin_44322778/85002137

2.准备工作

文件已经下载好了,但是在安装之前我我们需要做一些准备。
(1)、删除原有驱动(可选):$ sudo apt-get remove --purge nvidia*
我在删除的时候就提示我没有原有的驱动。
(2)、禁用nouveau,安装NVIDIA需要把系统自带的驱动禁用
打开文件:sudo gedit /etc/modprobe.d/blacklist.conf
在文本最后添加以下内容:

blacklist nouveau
option nouveau modeset=0

然后保存退出
执行:sudo update-initramfs -u
重启,命令行输入:lsmod | grep nouveau
没有任何输出的话就代表禁用成功。

3.安装NVIDIA驱动程序

(准备另一台电脑,用来看教程或者是查找需要输入的命令)
禁用图形界面服务:sudo service lightdm stop
按Ctrl+Alt+F1进入命令行,输入用户名密码登录(通过Ctrl+Alt+F7可返回界面)
下载的是.run文件,首先给文件赋予执行权限,首先cd到下载目录:(重要的事情说三遍:注意参数、注意参数、注意参数)

打开所在的文件夹:
cd ~/Downloads/
(这里应该写你当时把.run文件下载到的文件夹的路径,一般默认是下载文件夹,如果你在这里出现错误,比如找不到文件,或者路径是中文的,可以尝试把.run文件移动到一个home下,这样可以直接打:cd /home/你的用户名/ 这样就可以打开了。)

然后输入:sudo chmod a+x NVIDIA-Linux-x86_64-510.54.run
接着安装:sudo ./NVIDIA-Linux-x86_64-510.54.run –no-opengl-files
(如果linux在虚拟机中报错如下:)
在这里插入图片描述
提示信息:
系统:ubuntu 20.04 系统
你似乎没有NVIDIA GPU支持的510.54 NVIDIA Linux系统中安装的图形驱动程序。有关详情,请参阅
Linux下的README中支持的NVIDIA GRAPHICS CHIPS
驱动下载页面www.nvidia.com。
解决方案:

no-opengl-files 只安装驱动文件,不安装opengl文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。

gcc降级

在这里插入图片描述
如图所示提示安装驱动需要的本系统GCC编译器版本过高,当前系统为9.4.0 但是驱动安装需要的编译器是9.3.0.
在这里插入图片描述
Ubuntu20.04自带的gcc版本为9.4.0,需要添加gcc3才可安装nvidia驱动,输入命令安装gcc3

sudo apt-get install gcc-3 g+±3

查看gcc版本,可以看到目前系统中存在7和9两个版本

使用update-alternatives进行版本切换,输入以下命令:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50

此时输入sudo update-alternatives --config gcc命令查看gcc的默认版本,可以看到当前默认gcc版本为7,即切换成功。

原文链接:https://blog.csdn.net/ashome123/article/details/105822040
在这里插入图片描述

接着就是一直"Enter"选择它默认的那个选项就好。

然后挂载驱动: modprobe nvidia
最后查看是否已经安装好了:nvidia-smi

原文链接:https://blog.csdn.net/qq_39418067/article/details/87978848

cuda安装包下载

从https://developer.nvidia.com/cuda-toolkit-archive下载对应版本的cuda,选择18.04的版本即可。
在这里插入图片描述
在这里插入图片描述

安装操作

runfile安装cuda

  1. 禁用 nouveau驱动(在安装Nvidia驱动时已禁用)

终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。需要我们手动禁掉nouveau。

Ubuntu的nouveau禁用方法:
a、在/etc/modprobe.d中创建文件blacklist-nouveau.conf

输入命令:$  sudo vi /etc/modprobe.d/blacklist-nouveau.conf (利用vi编辑器编辑和保存文件)

在文件中输入一下内容:

blacklist nouveau
options nouveau modeset=0

b、执行:
$ sudo update-initramfs –u

c、再执行:
$  lsmod | grep nouveau
若无内容输出,则禁用成功,若仍有内容输出,请检查操作,并重复上述操作。

注:vi(或者用gedit)是Linux终端下或控制台下常用的编辑器,基本的操作方式为:vi /路径/文件名
例如:vi /etc/fstab表示显示/etc/fstab文件的内容。使用键盘上的Page Up和Page Down键可以上下翻页;按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这时从键盘输入的内容将插入到光标位置;再按下Insert键,左下角将有“Replace”字样,表示当前为替换编辑状态,这时从键盘输入的内容将替换光标位置的内容。编辑完内容后,按下Esc键,并输入“:wq”,然后回车就可以保存退出。
如果不想保存而直接退出,则按下Esc键后,输入“:q!”,然后回车即可。“wq”表示Write和Quit,即保存退出;“q!”表示忽略修改强行退出。

以下操作建议手机拍照,建议把下载的cuda_10.0.130_410.48_linux.run文件重命名为cuda.run并移动到Home文件夹下(为了安装方便)

gcc降级

Ubuntu20.04自带的gcc版本为9.7.0,需要添加gcc7才可安装cuda10.2,输入命令安装gcc7

sudo apt-get install gcc-7 g+±7

查看gcc版本,可以看到目前系统中存在7和9两个版本

使用update-alternatives进行版本切换,输入以下命令:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50

此时输入sudo update-alternatives --config gcc命令查看gcc的默认版本,可以看到当前默认gcc版本为7,即切换成功。

原文链接:https://blog.csdn.net/ashome123/article/details/105822040
在这里插入图片描述

安装cuda

在安装CUDA 时候会安装3大组件,分别是 NVIDIA 驱动、toolkit 和 samples。

  • NVIDIA 驱动是用来控制 GPU 硬件,
  • toolkit 里面包括nvcc编译器等,
  • samples或者说SDK 里面包括很多样例程序包括查询设备、带宽测试等等。
    上面说的 CUDA Driver API是依赖于 NVIDIA 驱动 安装的,而CUDA Runtime API 是通过CUDA toolkit 安装的。

nvidia-smi 显示的是你的驱动的版本号,而nvcc显示的是你的环境变量相对应的CUDA的版本号
原文链接:https://blog.csdn.net/ljp1919/article/details/102640512

输入命令进行安装
sudo sh cuda_10.0.130_440.33.01_linux.run
弹出阅读协议时,直接空格到100%,根据提示进行安装。( 换图。。。。。。。。。。。。。。。。)
在这里插入图片描述
3.环境变量配置
dragon@dragon-virtual-machine:~$ gedit ~/.bashrc
在文档末尾加上:

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

或者

更新环境变量配置
dragon@dragon-virtual-machine:~$ source ~/.bashrc
环境变量的配置:
sudo gedit ~/.bashrc
末尾添加:
export PATH=/usr/local/cuda-10.0/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH 
重启计算机
测试CUDA安装结果:
nvcc --version 
cd NVIDIA_CUDA-10.0_Samples
make
cd /NVIDIA_CUDA-10.0_Samples/bin/x84_64/linux/release
执行./deviceQuery        #如果显示的是一些关于GPU的信息,则说明安装成功了。

输入:nvcc --version系统提示:

Command 'nvcc' not found, but can be installed with:

解决方法:
首先,查看cuda的bin目录下是否有nvcc:

cd /usr/local/cuda/bin

如果存在,直接将cuda路径加入系统路径即可:
进入配置文件;
vim ~/.bashrc
添加以下两行:

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

然后更新配置文件:

source ~/.bashrc

再次执行nvcc --version就可以看到相应cuda版本了,如下:

dragon@dragon:/usr/local/cuda/bin$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

原文链接:https://blog.csdn.net/Flying_sfeng/article/details/103343813

nvidia-smi 中的CUDA 版本与 nvcc不一致:

解决方案:https://blog.csdn.net/qq525003138/article/details/103911704
出现版本不一致主要跟 NVIDIA Toolkit版本有关
原因:
在安装CUDA 时候会安装3大组件,分别是 NVIDIA 驱动、toolkit 和 samples。NVIDIA 驱动是用来控制 GPU 硬件,toolkit 里面包括nvcc编译器等,samples或者说SDK 里面包括很多样例程序包括查询设备、带宽测试等等。上面说的 CUDA Driver API是依赖于 NVIDIA 驱动 安装的,而CUDA Runtime API 是通过CUDA toolkit 安装的。

nvidia-smi 显示的是你的驱动的版本号,而nvcc显示的是你的环境变量相对应的CUDA的版本号

dragon@dragon:~/Downloads$ sudo apt-get install nvidia-cuda-toolkit
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  g++-6 libaccinj64-9.1 libcublas9.1 libcudart9.1 libcufft9.1 libcufftw9.1 libcuinj64-9.1 libcurand9.1 libcusolver9.1
  libcusparse9.1 libdrm-dev libgl1-mesa-dev libgles1 libglvnd-core-dev libglvnd-dev libnppc9.1 libnppial9.1 libnppicc9.1
  libnppicom9.1 libnppidei9.1 libnppif9.1 libnppig9.1 libnppim9.1 libnppist9.1 libnppisu9.1 libnppitc9.1 libnpps9.1 libnvblas9.1
  libnvgraph9.1 libnvrtc9.1 libnvtoolsext1 libnvvm3 libopengl0 libpthread-stubs0-dev libstdc++-6-dev libthrust-dev libvdpau-dev
  libvdpau1 libx11-dev libx11-doc libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev
  libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev
  libxdmcp-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev mesa-vdpau-drivers nvidia-cuda-dev
  nvidia-cuda-doc nvidia-cuda-gdb nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-opencl-dev opencl-c-headers
  vdpau-driver-all x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-xext-dev
  x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
  g++-6-multilib gcc-6-doc libstdc++6-6-dbg libstdc++-6-doc libvdpau-doc libxcb-doc libxext-doc libcupti-dev nvidia-driver
  libpoclu-dev libvdpau-va-gl1 nvidia-vdpau-driver nvidia-legacy-340xx-vdpau-driver
Recommended packages:
  libnvcuvid1
The following NEW packages will be installed:
  g++-6 libaccinj64-9.1 libcublas9.1 libcudart9.1 libcufft9.1 libcufftw9.1 libcuinj64-9.1 libcurand9.1 libcusolver9.1
  libcusparse9.1 libdrm-dev libgl1-mesa-dev libgles1 libglvnd-core-dev libglvnd-dev libnppc9.1 libnppial9.1 libnppicc9.1
  libnppicom9.1 libnppidei9.1 libnppif9.1 libnppig9.1 libnppim9.1 libnppist9.1 libnppisu9.1 libnppitc9.1 libnpps9.1 libnvblas9.1
  libnvgraph9.1 libnvrtc9.1 libnvtoolsext1 libnvvm3 libopengl0 libpthread-stubs0-dev libstdc++-6-dev libthrust-dev libvdpau-dev
  libvdpau1 libx11-dev libx11-doc libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev
  libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev
  libxdmcp-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev mesa-vdpau-drivers nvidia-cuda-dev
  nvidia-cuda-doc nvidia-cuda-gdb nvidia-cuda-toolkit nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-opencl-dev
  opencl-c-headers vdpau-driver-all x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-xext-dev
  x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 78 newly installed, 0 to remove and 0 not upgraded.
Need to get 788 MB of archives.
After this operation, 1,874 MB of additional disk space will be used.
Do you want to continue? [Y/n] 

解决方案:我是把 NVIDIA Toolkit卸载了重新安装的:
参考链接: https://blog.csdn.net/qq525003138/article/details/103911704

4 版本查看在这里插入图片描述

dragon@dragon:/usr/local/cuda/bin$ which nvcc
/usr/local/cuda-10.0/bin/nvcc

原文链接:https://blog.csdn.net/ashome123/article/details/105822040

cudnn 安装

1.安装包地址:

https://developer.nvidia.com/rdp/cudnn-archive
注意对应的版本在这里插入图片描述

2.文件解压

右击解压目录下的cuda文件夹,选择在终端打开,然后输入

将cuda/include/cudnn.h文件复制到usr/local/cuda/include文件夹
sudo cp include/cudnn.h /usr/local/cuda/include/  
将cuda/lib64/下所有文件复制到/usr/local/cuda/lib64文件夹中
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
并添加读取权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

3.查看cudnn版本

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

看到下面内容,说明安装成功

dragon@dragon:~/cudnn-10.0-linux-x64-v7.6.5.32/cuda$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"

原文链接:https://blog.csdn.net/qq_39418067/article/details/87978848
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:45:38  更:2022-03-21 20:47:57 
 
开发: 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/29 12:12:04-

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