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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • l1正则化为什么稀疏(特征值重根与秩的关系)

    L1正则化与稀疏性L1正则化使得模型参数具有稀疏性的原理是什么?机器学习经典之作《patternrecognitionandmachinelearning》中的第三章作出的一个解释无疑是权威且直观的,我们也经常都是从这个角度出发,来解释L1正则化使得模型参数具有稀疏性的原理。再回顾一下,以二维为例,红色和黄色的部分是L1、L2正则项约束后的解空间,蓝色的等高线是凸优化问题中的目标函数(…

    2022年4月15日
    91
  • pandas 0.23.4 :’pd.ewma’没有这个模块,改用`Series.ewm` 或 降低版本到 pandas 0.21.0

    pandas 0.23.4 :’pd.ewma’没有这个模块,改用`Series.ewm` 或 降低版本到 pandas 0.21.0问题:在进行画出指数平滑移动平均线,遇到如下问题:#pd.ewma(com=None,span=one)#指数平均线。com:数据;span:时间间隔AttributeError:module’pandas’hasnoattribute’ewma’解决办法:在pandas0.23.4版本中,已经不存在这种方法,回退到之前版本pandas0.21.0就一切完美…

    2025年7月12日
    3
  • 基于POI实现Excel表的导入导出功能[通俗易懂]

    基于POI实现Excel表的导入导出功能[通俗易懂]对于批量数据的操作,在项目中引进Excel的导入和导出功能是个不错的选择。对于Excel表的结构,简单理解可以把它分成三部分(Sheet,Cell,Row),这三部分可以理解为excel表中的页,列,行。因此,我们想要获取到某一个单元的内容,可以通过获取该单元所在的页数、对应所在的行和对应的列数从而定位到该单位,继而便可执行操作从而获取其中的内容。本文在SSM环境下基于Java的POI实现对exc…

    2025年7月1日
    2
  • 有感FOC算法学习与实现总结「建议收藏」

    有感FOC算法学习与实现总结「建议收藏」`FieldOrientedControl`磁场定向控制(`FOC`),`FOC`是有效换向的公认方法。`FOC`的核心是估计转子电场的方向。一旦估计了转子的电角度,就将电动机的三相换相,以使定子磁场垂直于转子磁场。本文参考了`TI`,`microchip`的相关文档,基于`STM32F103`系列单片机实现了带编码器的`FOC`算法,实现了对通用伺服电机(表贴式`PMSM`)的控制。

    2022年6月21日
    119
  • vue项目封装组件_前端组件封装

    vue项目封装组件_前端组件封装前言在使用vue进行日常开发的时候,组件的封装是一个很常规的操作,也可以从npm仓库下载别人封装好的组件来使用,比如iview,elementui等…但每个项目的应用场景不同,所以我们有时也需要自己封装组件。而如果在开发中换了项目,那么就只能复制代码过去,略显麻烦,这个时候呢,可以将封装好的组件上传到npm仓库,需要使用时就可以直接通过npm指令下载,非常方便。1.环境准备因为我们封装的是Vue组件,所以直接在脚手架中封装即可。//创建项目因为我们只需封装组件所以RouterSt

    2022年9月23日
    3
  • idea激活码永久 吾爱破解_通用破解码

    idea激活码永久 吾爱破解_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    1.5K

发表回复

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

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