系统: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
- 禁用 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
|