https://blog.csdn.net/hancoder/article/details/86634415

如有驱动了,可以直接跳到cuda部分看

安装cuda只需要看1,2,4,5即可,一般gcc已经安装了无需重复安装。

本文安装cuda是直接安装到linux的环境中的,后来我发现似乎可以不更改linux的环境,而是只更改anaconda的虚拟环境,你可以试一试

# 自己更改版本
conda install cudatoolkit=8.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/conda install cudnn=7.0.5 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/

文章目录

  • 1、查现有cuda和cudnn版本的命令
  • 2、显卡驱动,cuda,cudnn对应关系
  • 3、安装nvidia驱动(如有需要)
      • 3.1 卸载原来的驱动
      • 3.2. 禁用nouveau驱动
      • 3.3. 禁用X-Window服务
      • 3.4. 命令行安装驱动
      • NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver报错
      • You do not appear to have an NVIDIA GPU supported by the 460.56 NVIDIA Linux
    • gcc的卸载与安装(如有需要)
  • 4、安装CUDA
    • 4.1 下载
    • 4.2 安装
    • 4.3 连接
    • 4.4 配置环境
    • 4.5 使配置生效:
      • 附:卸载cuda或者更换系统里已有cuda(卸载时候才需要看)
    • 4.6 cuda检查版本:
  • 5、安装cudnn
  • 6、测试cuda的Samples(可跳过)

1、查现有cuda和cudnn版本的命令

nvcc -V或者如下命令

cuda 版本

cat /usr/local/cuda/version.txt

cudnn 版本

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

2、显卡驱动,cuda,cudnn对应关系

nvidia与cuda需要满足关系:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
cuda与cudnn需要满足关系:
https://developer.nvidia.com/rdp/cudnn-archive
cuda历史版本下载连接:
https://developer.nvidia.com/cuda-toolkit-archive

显卡和CUDA需要对应:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions

当前系统版本信息:lsb_release -a

CUDA Toolkit Linux x86_64 Driver Version Windows x86_64 Driver Version
CUDA 11.1.1 Update 1 >=455.32 >=456.81
CUDA 11.1 GA >=455.23 >=456.38
CUDA 11.0.3 Update 1 >= 450.51.06 >= 451.82
CUDA 11.0.2 GA >= 450.51.05 >= 451.48
CUDA 11.0.1 RC >= 450.36.06 >= 451.22
CUDA 10.2.89 >= 440.33 >= 441.22
CUDA 10.1 (10.1.105 general release, and updates) >= 418.39 >= 418.96
CUDA 10.0.130 >= 410.48 >= 411.31
CUDA 9.2 (9.2.148 Update 1) >= 396.37 >= 398.26
CUDA 9.2 (9.2.88) >= 396.26 >= 397.44
CUDA 9.1 (9.1.85) >= 390.46 >= 391.29
CUDA 9.0 (9.0.76) >= 384.81 >= 385.54
CUDA 8.0 (8.0.61 GA2) >= 375.26 >= 376.51
CUDA 8.0 (8.0.44) >= 367.48 >= 369.30
CUDA 7.5 (7.5.16) >= 352.31 >= 353.66
CUDA 7.0 (7.0.28) >= 346.46 >= 347.62

tf与cuda版本:https://blog.csdn.net/qq_27825451/article/details/89082978

torch与cuda版本:https://pytorch.org/get-started/previous-versions/

另外由于tf或torch等版本的限制,也与cuda版本有关,验证方式:

import torch
torch.cuda.is_available()  # 输出true才代表当前版本的torch能用

3、安装nvidia驱动(如有需要)

首先去官网上查看适合你的GPU的驱动
官网:https://www.nvidia.com/Download/index.aspx?lang=en-us。
例如,本人的GPU适合的驱动如图:

下载后:

3.1 卸载原来的驱动
# 如果原驱动是用apt-get安装的,就用第1种方法卸载。
#方法一: original driver installed by apt-get:
sudo apt-get remove --purge nvidia*# 方法二:如果原驱动是用runfile安装的,就用–uninstall命令卸载。其实,用runfile安装的时候也会卸载掉之前的驱动,所以不手动卸载亦可。
#for case2: original driver installed by runfile:
sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall
3.2. 禁用nouveau驱动
sudo gedit /etc/modprobe.d/blacklist.conf
在文本最后添加:(禁用nouveau第三方驱动,之后也不需要改回来)。这时候一般不在远程桌面上操作,在ssh上操作的话要用vim或者vi
blacklist nouveau
options nouveau modeset=0

然后执行

sudo update-initramfs -u

重启后,执行:lsmod | grep nouveau。如果没有屏幕输出,说明禁用nouveau成功。

3.3. 禁用X-Window服务
sudo service lightdm stop #这会关闭图形界面,但不用紧张

还遇到过An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel....

# 禁用图形目标
sudo systemctl isolate multi-user.target
# 卸载Nvidia驱动程序
modprobe -r nvidia-drm# 安装驱动完成之后再次启动图形环境,可以使用此命令:
sudo systemctl start graphical.target

Ctrl-Alt+F1进入命令行界面,输入用户名和密码登录即可。

小提示:在命令行输入:sudo service lightdm start ,然后按Ctrl-Alt+F7即可恢复到图形界面。 (期间Crtl+Alt+F1或者lightdm stop,会黑屏,新手不要慌,这只是进入里命令行模式。失败了也没必要重装系统,多试几次或者多试几个版本。有的版本会有gcc限制。gcc切换方式在需要4)

3.4. 命令行安装驱动
#给驱动run文件赋予执行权限:
sudo chmod +x NVIDIA-Linux-x86_64-384.59.run
#后面的参数非常重要,不可省略:
sudo ./NVIDIA-Linux-x86_64-384.59.run -no-opengl-files
# 然后会出现几个选项,影响不大,选yes即可
  • -no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。
  • -no-x-check:表示安装驱动时不检查X服务,非必需。
  • -no-nouveau-check:表示安装驱动时不检查nouveau,非必需。
  • -Z, --disable-nouveau:禁用nouveau。此参数非必需,因为之前已经手动禁用了nouveau。
  • -A:查看更多高级选项。

必选参数解释:因为NVIDIA的驱动默认会安装OpenGL,而Ubuntu的内核本身也有OpenGL、且与GUI显示息息相关,一旦NVIDIA的驱动覆写了OpenGL,在GUI需要动态链接OpenGL库的时候就引起问题。

之后,按照提示安装,成功后重启即可。
如果提示安装失败,不要急着重启电脑,重复以上步骤,多安装几次即可。

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver报错
  • ls /usr/src 查看到现有显卡型号
  • sudo apt-get install dkms
  • sudo dkms install -m nvidia -v 410.79 注意修改为你的版本
  • nvidia-smi
You do not appear to have an NVIDIA GPU supported by the 460.56 NVIDIA Linux

首先输入下面语句测试

可以参考教程更换内核:https://blog.csdn.net/weixin_42642483/article/details/105220354

其他参考内核教程:https://www.cnblogs.com/boyzgw/p/6227430.html

不推荐使用如下方式:

系统设置附加驱动里的安装方式,因为可能导致循环登录等情况。不推荐!:(UBUNTU右上角》系统设置》软件与更新》附加驱动选择》重启)
另外不推荐的是如在命令行里使用如下安装sudo apt-get install nvidia-390

输入: nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。

另外也可以通过:nvidia-settings
查看自己机器上详细的GPU信息,本人机器的信息如下:

gcc的卸载与安装(如有需要)

gcc -v # 检查gcc版本
sudo apt-get remove gcc # 卸载(如有需要)# 安装
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo  apt-get update
sudo apt-get  install gcc-4.7 # 加需要的版本号即可
sudo apt-get  install g++-4.7# 不太推荐的安装方式:https://www.jianshu.com/p/4168966e0b88
#更麻烦的方法可以参考https://blog.csdn.net/hancoder/article/details/87906955

4、安装CUDA

本文是在服务器上安装cuda,后来我发现似乎可以在anaconda的虚拟环境里安装,你可以试一试,如果有效的话就无需变更linux中的环境了,虚拟环境更方便

# 自己更改版本
conda install cudatoolkit=8.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/conda install cudnn=7.0.5 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/

请先看2再看4。安装显卡驱动后输入nvidia-smi后很多机器显示了cuda版本。不清楚这个cuda是哪来的,因为我一般都是分开安装的,所以自己机器的话一般不冲突,但别人机器总有这个情况,还不知道去哪删旧的cuda。有清楚的可以评论教一下~

cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。

4.1 下载

cuda下载地址: cuda下载地址
注意这里下载的是cuda9.0的runfile(local)文件。

命令行可以通过右键复制下载地址,wget 下载地址 进行下载,这里列几个常用的版本

## ubuntu16.04
# cuda9.2
wget https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux# cuda9.0
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run# cuda10.1 update2
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
sudo sh cuda_10.1.243_418.87.00_linux.run# cuda10.0
wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux
sudo sh cuda_10.0.130_410.48_linux.run

4.2 安装

下载完cuda9.0后,执行如下语句,运行runfile文件:

sudo sh cuda_9.0.176_384.81_linux.run
# 即:sudo sh 对应你的run文件

下面是输入命令后的显示界面与选择,特别要注意的是,他提示安装显卡驱动的时候一定要选中no,因为我们已经安过了,否则会覆盖

每个版本的安装界面不用,但都差不多,步骤都类似,模仿就行

新版本的cuda是首先让你填入accept

然后又下图,用回车键取消选择Driver附带的驱动,因为我们已经安装过了,然后方向键选到install,然后回车

# 本段代码是之前版本的cuda的方式,可以跳过
#先执行下面的命令安装相关依赖,
#如果出现`Missing recommended library`错误,使用下面命令
# sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev sudo sh cuda_8.0.61_375.26_linux.run #开始安装#..一堆协议说明...
#直接按q退出协议说明.
zerozone@zerozone: accept/decline/quit: accept  #接受协议Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
y)es/(n)o/(q)uit: n  #是否显卡驱动包,由于已经安装显卡驱动,选择nInstall the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择yEnter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: #工具包安装地址,默认回车即可Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
# 把/usr/local/cuda-8.0链接到/usr/local/cudaInstall the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例,我默认到了home下Enter CUDA Samples Location[ default is /root ]:  #样例安装地址默认即可# ***安装信息***
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...Missing recommended library: libXi.so
Missing recommended library: libXmu.so
#注意,这里出现了Missing recommended library错误,
#是因为博主在第一次安装时,没有添加最开始的那条安装相关依赖的指令,
#之后我添加了依赖后,再次安装,就没有Missing错误了Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.===========
= Summary =
===========
Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-8.0
Samples:  Installed in /root, but missing recommended librariesPlease make sure that-   PATH includes /usr/local/cuda-8.0/bin-   LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as rootTo uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/binPlease see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:sudo <CudaInstaller>.run -silent -driverLogfile is /tmp/cuda_install_6388.log
# ***安装完成***

4.3 连接

sudo rm -rf /usr/local/cuda
# 下面的cuda版本视自己的情况定,可以去/usr/local/查看自己安装的版本号
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
# 可能nvidia已经自动帮你链接好了

4.4 配置环境

输入sudo gedit ~/.bashrc (或/etc/profile),打开.bashrc文件,添加如下内容

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda#注意这里不要写cuda几点几,因为上面安装cuda的时候你选择了把cuda-版本号的文件链接到了/usr/local/cuda/,所以根本没有必要在此文件里写版本号。写了以后换cuda很可能会更换不成功,因为可能之前的cuda-版本号优先于你新的cuda
LIBRARY_PATH是程序编译期间查找动态链接库时指定查找共享库的路径
LD_LIBRARY_PATH是程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
两者的共同点是库,库是这两个路径和PATH路径的区别,PATH是可执行文件。
两者的差异点是使用时间不一样。一个是编译期,对应的是开发阶段,如gcc编译;一个是加载运行期,对应的是程序已交付的使用阶段。

4.5 使配置生效:

source ~/.bashrc
或
source /etc/profile
附:卸载cuda或者更换系统里已有cuda(卸载时候才需要看)
# 卸载只需要把/usr/local/cuda-版本号文件直接删除即可。但没必要卸载,安装新的cuda只需要覆盖/usr/local/cuda文件即可,因为环境变量设置的是/usr/local/cuda
# 下面是更换已有cuda 的方法
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
#把9.0数字概率,8.0和9.0来回改就可以,ln -s的意思是软连接,相当于windows里的快捷方式,不是实际的文件

4.6 cuda检查版本:

nvcc --version(nvidia-smi终端里显示的似乎不是绝对准确的)

安装完cuda还必须安装cudnn

5、安装cudnn

首先说明下cudnn的安装方式其实就是把下载下来的文件放到刚才安的cuda里,cudnn和cuda的结构都是一致的,把cudnn里的东西放到对应地方即可。值得注意的是要放在/usr/local/cuda-版本号里,不要放在/usr/local/cuda里。
首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。

https://developer.nvidia.com/rdp/cudnn-archive

有deb和Tar包,安装哪个都可以,我选中的是cuDNN Library for Linux
是个压缩文件(.tgz)

大概思路是把cudnn解压缩得到的cuda(这个cuda只是一个文件名而已),把cudnn包里include和lib64里的.h文件全部复制到/usr/local/cuda-版本号对应的的include和lib64文件里。

如果你直接把这些文件拖拉进去或者ctrl c+ctrl v,那么下面的命令你就不需要使用了,下面命令的效果就是ctrl c+ctrl v

wget方式因为cudnn官网需要浏览器登录才能下载,所以wget方式下载失败
我把几个常用的cudnn版本传到了学校ouc-13服务器上,我们可以通过scp拷贝过来,当然你也可以先浏览器下载到别的电脑上然后scp到docker中。# 把几个版本的cudnn都传过来
scp -P 9113 ouc-13@222.195.151.170:/home/ouc-13/Downloads/cudnn*   /
# 我们接收到了几个cudnn包,安装完记得把包删除就行,省的占用镜像大小
cudnn-10.0-linux-x64-v7.6.0.64.tgz
cudnn-10.1-linux-x64-v7.6.0.64.tgz
cudnn-9.0-linux-x64-v7.6.0.64.tgz
cudnn-9.2-linux-x64-v7.6.0.64.tgz

下载完cudnn之后进行【解压】

# 解压  #单独解压,不要一下全解压
tar -xvf cudnn-10.0-linux-x64-v7.6.0.64.tgz

【cd】进入cudnn解压之后的cuda文件目录,在命令行进行如下操作:

#复制头文件
# 注意9.0是我的版本号,你的版本号可以取/usr/local/下查看。
# 注意该目录下如果安装过多个cuda的话会有多个cuda,其实不带版本后缀的那个只是一个快捷方式,链接的是另外一个带版本号的cuda。cudnn和cuda的版本是关联的,所以我们放到指定的版本号中,这也软连接也是同步的,我们无需再管理cudnn的位置# 可以加sudo
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn*  /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

因为我们已经复制进/usr/local/cuda-版本了,刚才下载的东西就没有了把刚才cudnn解压得到的cuda删了,

6、测试cuda的Samples(可跳过)

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

另外说明一下,有些机器别人安装的问题,浏览器打不开的话重启或者在命令行安装其他浏览器或者杀死进程。

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
下载完后,运行如下命令安装。

sudo dpkg -i google-chrome*

sudo apt-get -f install
然后,就可以去搜索使用了。

https://www.cnblogs.com/marsggbo/p/11838823.html

显卡驱动+gcc+cuda安装教程相关推荐

  1. cuda卸载_Ubuntu18.04英伟达显卡驱动、Cuda安装

    一.显卡驱动安装 1. 准备工作 禁用BIOS中的secure boot,因为此方法使用第三方源安装显卡驱动,不禁止secure boot会导致安装的驱动不能使用,禁用也不会有多大安全隐患. 2. 禁 ...

  2. 真传x深度学习第二课:nvidia显卡驱动和cuda安装(小米13.3,显卡mx150)

    安装nvidia驱动和cuda,cudnn相关软件 环境说明:小米13.3,8代i5,mx150独显 1.    添加驱动源 sudo add-apt-repository ppa:graphics- ...

  3. 转载ubuntu最简单显卡驱动与cuda安装

    ---------------- 版权声明:本文为CSDN博主「贩卖星星的书生」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blo ...

  4. CentOS8安装NVIDIA显卡驱动、CUDA和Anaconda

    CentOS8安装NVIDIA显卡驱动.CUDA和Anaconda 参考:CentOS nvidia+cuda+cudnn 安装 安装英伟达显卡驱动 1.检查是否安装了NVIDIA的GPU(硬件层面) ...

  5. win10安装centos7、安装显卡驱动和cuda、安装mpich全流程

    目录 window10安装centos7 准备工作 使用UltraISO制作U盘启动盘 安装过程 安装显卡驱动和cuda 安装显卡驱动 安装cuda 安装mpich window10安装centos7 ...

  6. 超详细教程——Ubuntu20.04 安装英伟达NVIDIA显卡驱动、CUDA、Cmake以及不同版本的CUDA切换

    在windows和linux双系统下,为ubuntu安装nvidia.cuda.cmake等程序是一个可能会难到各个计算机小白的问题,本文将一步步地带您学会安装以上内容. 一.安装英伟达NVIDIA显 ...

  7. 安装NVIDIA显卡驱动以及CUDA

    安装显卡驱动 狠了狠心,晚上回家搞搞东西,配了台机器,记录下安装的过程吧. Ubuntu16.04+cuda8.0 经历过装好驱动和ubuntu桌面冲突,无限循环登录界面的bug,以下是亲测好用的教程 ...

  8. NVIDIA显卡驱动及CUDA相关安装流程(包括多版本cuda切换)

    NVIDIA显卡驱动及CUDA相关安装流程 NVIDIA驱动安装 NVIDIA驱动官方下载地址: https://www.nvidia.cn/Download/index.aspx?lang=cn 第 ...

  9. Centos8安装显卡驱动以及Cuda

    最近给服务器装了最新的Centos8.本着Dont Repeat Yourself 原则,记录安装显卡驱动和Cuda的过程,以免重复劳动. 找了很多资料,由于Centos8比较新,很多都不起作用了,这 ...

最新文章

  1. 三、概念数据模型CDM(Conceptual Database Model )
  2. 总结一下“网络连接受限制”无法上网的解决办法
  3. yii mailer 扩展发送邮件
  4. SQL Server数据库新建拥有部分查看操作权限的用户
  5. 解决 -- java 调用webservice 服务端收到参数为null
  6. Java Web学习总结(10)学习总结-EL表达式
  7. MongoDB自定义函数部分 定义及引用
  8. 2022 数学建模B题 高教社杯 含半成品论文 部分代码 全部数学模型 和全套思路
  9. Mysql如何清空数据库的单表数据 , 所有表数据
  10. D1: elevater design
  11. 三月写给沉默王二的一封道歉信
  12. 使用john进行密码爆破
  13. 电子科技大学计算机专业考什么,2015年电子科技大学081203计算机应用技术考研专业目录及考试科目...
  14. 数据结构-C语言代码 day6-栈及其应用
  15. 去除ueditor自动默认添加p标签
  16. EXCEL按内容引用其他表数据
  17. 为什么开发与测试老掐架呢
  18. onehot编码的意义
  19. ENVI学习之0001
  20. 一个基于雾里看花的BLDC电机驱动案例

热门文章

  1. 制作Windows7启动盘
  2. 什么是cpu/cache stall
  3. 蓝牙对战的java_国际象棋-可蓝牙对战
  4. 爱拼t6输入法 v3.10 完整版 免费下载
  5. 经济学基础-曼昆 学习笔记
  6. 团队管理-用杨三角打造组织能力
  7. 坚持跑步1个月,有效果了
  8. 手机信令数据怎么获得_【技术专栏】手机信令数据支持城镇体系规划的技术框架...
  9. sftp上传文件和下载文件
  10. 百度AI应用方案:健康饮食APP