Linux系统CUDA10.2+CUDNN安装教程

Linux系统CUDA10.2+CUDNN安装教程Ubuntu18.04下安装CUDA10.2及对应的CUDNN的教程。

大家好,又见面了,我是你们的朋友全栈君。

这里主要针对驱动已经安装好了的环境,如何安装合适的显卡驱动这里不多赘述,本文演示的系统为Ubuntu18.04,但理论上其他Linux发行版操作类似。

驱动适配

通过命令行输入nvidia-smi查看自己的显卡驱动版本以及支持的最大CUDA版本,下图第一行就显示了这些信息,可以看到,最大支持CCUDA10.2,更高版本的CUDA需要升级驱动程序。

在这里插入图片描述

安装包下载

CUDA的安装可以访问官网开发者工具中找到,链接给出,此时显示的结果如下,这是最新的CUDA11,点击右侧的红框选择历史版本。

在这里插入图片描述

找到CUDA10.2,按照需求进行选择,然后安装指示使用wget或者浏览器下载runfile文件。

在这里插入图片描述

CUDNN的下载也类似,链接也给出,这个下载需要注册开发者账号(简单几步注册登录即可),然后如下图选择合适的CUDA版本对应的CUDNN并选择CUDNN Library for Linux。这里注意,推荐的是CUDNN8.0.2,事实上,还有一个7.6.5更合适一些,点开Archived菜单查找,后者更稳定。

在这里插入图片描述

安装

CUDA安装

下面的步骤先看完再做。

首先,通过下面的命令关闭图形界面管理器,如果你的图形管理器使用的是gdm3那么将命令中的lightdm换成gdm3即可。

sudo service lightdm stop

此时,桌面环境会关闭,通过快捷键Ctrl+Alt+F1进入命令行界面,输入用户名和密码登录,然后找到之前下载的cuda文件(切换到该文件所在目录下),执行下面的命令。

sudo sh cuda_*.run

此时会进入安装,下面的过程不便截图,描述一下:首先,会询问显示管理器仍有开启,是否继续安装,这里选择continue;然后,会列出一个列表要求选择想要安装的内容,这里将第一个驱动安装的部分回车一下将那个x取消,只安装cuda tool kit即可;之后,方向键选择下面的Install进行安装,最后安装成功后会有一个提示。

这时候cuda是安装好了,但是环境变量找不到cuda程序,自己手动修改环境变量文件,通过vim或者gedit修改,对应命令分别为vim ~/.bashrcgedit ~/.bashrc,将下面的内容添加到文件最后,再通过source ~/.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

此时,输入nvcc -V检查安装是否成功,如下图则表示安装成功。

在这里插入图片描述

CUDNN安装

切换到cudnn文件所在目录,通过tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz命令解压文件,会得到一个cuda文件夹,逐一执行下面的命令进行cudnn的安装。

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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

完成后,通过下面的命令查看安装情况,如果结果如下图逐行显示版本号,则安装成功。

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

在这里插入图片描述

至此,在Ubuntu18.04上CUDA和CUDNN安装完成。

训练测试

按照官方教程,在虚拟环境中安装Pytorch1.5并进行GPU训练测试,结果如下,成功使用CUDA训练。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131582.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月12日 上午8:16
下一篇 2022年6月12日 上午8:16


相关推荐

  • Java-线程池面试题

    Java-线程池面试题线程池前言什么是线程池为什么要使用线程池线程池有哪些作用线程池的创建方式如何实现复用ThreadPoolExecutor核心参数其他相关总结前言线程池在面试、开发过程中都比较重要。本文总结了一些关于该方面的相关知识点。以下内容收集于蚂蚁课堂什么是线程池线程池和数据库连接池非常类似,可以统一管理和维护线程,减少没有必要的开销。为什么要使用线程池因为在项目开发过程中频繁的开启线程或者停止线程,线程需要重新被CPU从就绪状态调度到运行状态,需要发生CPU的上下文切换,效率非常低。线程的生命周期如

    2022年5月25日
    50
  • 2021-IP地址详解02「建议收藏」

    2021-IP地址详解02「建议收藏」网络域网:一般称为内网单局域网的构成:交换机,网线,PC()交换机:用来组件内网的局域网的设备ip地址ip地址就是一个唯一的标识,是一段网络编码(二进制)由32位构成11010010.01001001.10001100.00000110=210.73.140.6ip地址的形式:X.X.X.XX的范围:0-255子网掩码局域网通信规则:在同一局域网中,所有的IP必须在同一网段中才能互通通信!IP地址构成:网络位:网络位+主机位(网络位相同的IP地址,位同一网段)

    2022年6月24日
    71
  • 庞老师教学_小p老师

    庞老师教学_小p老师2017年2月17日,星期五庞老师集群链接:http://pan.baidu.com/s/1mhSw2TE密码:hzz4更改子网IP,及网关:null转载于:https://www.cnblogs.com/jxhd1/p/9521076.html…

    2022年10月12日
    5
  • WebView使用配置文件

    WebView使用配置文件

    2022年1月17日
    48
  • 怎样学习工业PLC

    怎样学习工业PLC可编程控制器是集计算机技术、通讯技术、自动控制技术为一体的工业控制装置。对于初学者来说掌握了plc基本原理,熟悉常用的编程方法,在进行简单系统编程时尚可以运用自如,但对较为复杂的控制系统设计往往力不从心,要想在PLC应用方面得心应手,学习者除了要建立正确的学习方法,深入学习plc编程技巧,最重要的是相关知识的学习。下面从六个方面谈谈我的教学心得。一、多收集程序范例、增加编程经验在PLC的编程方…

    2022年10月18日
    5
  • Java Eclipse自动补全设置[通俗易懂]

    Java Eclipse自动补全设置[通俗易懂]Eclipse代码自动补全功能默认只包括点”.” ,即只有输入”.”后才出现自动补全的提示框。想要自动补全总是去按“Alt+/”也很麻烦。其实只需简单在Eclipse中进行设置即可实现输入任意及符合自动出现自动补全提示框。具体设置步骤如下:   选择Eclipse菜单条中的Windows菜单下的Preferences项。在左侧找到“Java”=》“Editor”=》

    2022年6月28日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号