JETSON TX2 安装 CUDA9.0 及 CUDNN7 超详细(真实亲测)

2023-05-16

JETSON TX2 安装 CUDA9.0 及 CUDNN7 超详细(真实亲测)

划重点:本文主要针对于Jetson TX1/2,如果想在 pc端 安装 cuda 及 cudnn,那这篇没有任何帮助!
最近再给Jetson TX2开发板上安装cuda和对应的cudnn,遇到了很多问题,也搜索了很多技术博客,发现在给 Jetson TX2 安装cudnn的时候都存在致命的错误,现在将出坑方法记录下来。

本文是针对下面的平台的:
平台描述:
Jetson TX2平台版本: Jetpack 3.3, TensorRT4.0.2, python2.7, python3.5
系统内核: tegra-ubuntu 4.4.38-tegra aarch64, ubuntu 16.04
Linux系统版本: Ubuntu16.04,cmake 3.15.6 (TX2刷机完原始的cmake是3.5.1版本,由于后面自己捣鼓的时候说最好安装3.9.0以上版本cmake,所以我就直接升级到新版本了)

重点一:JETSON TX2上安装的CUDNN,一定要是ARM版本的(即AARCH64)

之前在搜所相关安装方法的时候,很多技术博客中给出的cudnn下载链接下载到的cudnn是基于x86/64的。但是,Jetson TX2是ARM内核的, 基于X86_64的cudnn在使用的时候会报错的(报错信息见下 error),所以在Jetson TX2上安装的cudnn,一定要是arm版本的(aarch64)。

重点二:ARM版本的CUDA及CUDNN从何下载?

这是重点所在。
从 nvidia 官网 cudnn下载链接中得到其实全部都不是基于ARM的。如下图所见:

在这里插入图片描述

那么,如何得到ARM版本的cuda及cudnn呢?答案在这个链接里面: 

https://devtalk.nvidia.com/default/topic/1029454/cudnn-6-for-arm64/?offset=4

也就是在运行 Jetpack 安装包之后,从下载得到的文件夹( jetpack_downloads/ )中得到
如果哪位大佬有更好的办法,请指出!

一、获得 CUDA 及 CUDNN

首先,找一台安装有 ubuntu16 或者 ubuntu14的电脑(我的ubuntu18不能用),从官网下载jetpack安装包或者从: https://pan.baidu.com/s/1c4dSxFXwLhmA2ASYHKkAqw 提取码: c9vk。
本文就以 Jetson3.3 版本 为例。
进入到此文件的下载目录,给文献权限:

sudo chmod +x JetPack-L4T-3.3-linux-x64_b39.run

然后开始安装:

./JetPack-L4T-3.3-linux-x64_b39.run
注意:在安装的时候不要使用 sudo 命令,直接运行即可
然后默认操作即可,具体操作可以参考这篇:Jetson TX2超详细刷机指南
直到出现下图,表示已经下载并且安装好了,后续的刷机过程也就不用在继续了,直接关闭就行:

在这里插入图片描述

然后找到刚才安装过程中选择的下载目录(如下图)

在这里插入图片描述

在 jetpack_downloads/ 文件夹下面,就得到乐了我们需要的 cuda9.0 和 cudnn7.1.5的安装包

下面的过程将在 Jetson TX2上进行

二、安装 CUDA 及 CUDNN

2.1 安装CUDA

2.1.1 首先,在主目录下创建一个叫 cuda-l4t 的文件夹

cd ~
mkdir cuda-l4t

2.1.2 拷贝 cuda 安装脚本
在 jetpack 的安装目录下的 _install/目录下有一个叫 cuda-l4t.sh 的脚本,将其拷贝到 主目录下的 cuda-l4t 文件夹下

在这里插入图片描述

注意:建议在 jetpack 安装目录下直接搜索cuda-l4t.sh 会更加直接

2.1.3 拷贝 cuda、cudnn安装包
所有在JetPack中下载的安装包均存在JetPack/jetpack_download中,将
cuda9.0安装包 (cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb)
cudnn安装包 (有3个,libcudnn7_7.1.5.14-1+cuda9.0_arm64.deb,libcudnn7-dev_7.1.5.14-1+cuda9.0_arm64.deb,libcudnn7-doc_7.1.5.14-1+cuda9.0_arm64.deb)
拷贝到 主目录下的 cuda-l4t 文件夹下

在这里插入图片描述

2.1.4 开始安装cuda

cd ~/cuda-l4t
bash cuda-l4t.sh cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb 9.0 9-0

等待安装完成即可

2.2 安装CUDNN

由于3个与cudnn相关的文件:
libcudnn7_7.1.5.14-1+cuda9.0_arm64.deb
libcudnn7-dev_7.1.5.14-1+cuda9.0_arm64.deb
libcudnn7-doc_7.1.5.14-1+cuda9.0_arm64.deb
由于都是 .deb 文件,因此直接使用 下面的命令安装即可:

sudo dpkg -i libcudnn7_7.1.5.14-1+cuda9.0_arm64.deb
sudo dpkg -i libcudnn7-dev_7.1.5.14-1+cuda9.0_arm64.deb
sudo dpkg -i libcudnn7-doc_7.1.5.14-1+cuda9.0_arm64.deb
安装完成后,其实是直接安装到了默认安装路径usr/include和usr/lib下的,因此需要将其拷贝到cuda安装路径下:

sudo cp /usr/include/cudnn.h /usr/local/cuda/include/

sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/
到此,cuda 及 cudnn 安装就完成了

三、验证

3.1 查看 CUDA 版本

在终端中输入:

$ nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Sun_Nov_19_03:16:56_CST_2017
Cuda compilation tools, release 9.0, V9.0.252

3.2 查看 CUDNN 版本

在终端输入:

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
得到
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JETSON TX2 安装 CUDA9.0 及 CUDNN7 超详细(真实亲测) 的相关文章

  • JAVA学习心得体会

    这周是考试结束第一周 xff0c 刚开始继续学习JAVA时 xff0c 短时间不学习就感觉遗忘了许多有关JAVA的知识 xff0c 所以及时的复习所学内容是真的很重要 通过学长学姐的介绍 xff0c 我发现Typora记笔记是真的很方便 x
  • Ubuntu18.04在ROS下利用realsenseD435i相机实时运行ORB-SLAM2

    1 安装realsenseD435i的SDK Librealsense 可以参照这位博主 6条消息 Ubuntu18 04 43 ROS melodic 安装使用 InterRealSenseD435i SDK2和RealSense ROS
  • opencv-python识别魔方特定颜色方块,并输出各方块中心坐标

    先叠个甲 xff08 作者寒假才开始自学opencv xff0c 做题练手 xff0c 还不是很熟练 xff0c 如果有不正确或者有更好的方法 xff0c 欢迎在评论区指出 xff09 题目 xff1a 从网上寻找任一魔方图片 xff0c
  • Git教程学习笔记及VScode中Git使用

    文章目录 前言1 配置git2 创建版本库3 版本回退4 工作区和暂存区5 添加远程仓库6 分支管理处理bug分支多人协作 7 标签管理8 自定义git9 VScode中的Git使用 前言 欢迎通过我的个人博客看本篇文章https sunm
  • Qt的基本数据类型

    1 1 基本数据类型 qint8 signed charqint16 signed shortqint32 signed intqint64 long long int int64 on Windows qreal doublequint8
  • Qt——Javascript/Qt交互、脚本化

    Qt提供了对Javascript的良好支持 如果查阅过文档你就知道Qt有两个不同的Js封装引擎 xff1a QScriptEngine QJSEngine QScriptEngine出现的比较早 xff08 自Qt4 3始 xff09 xf
  • QT自绘标题和边框

    在QT中如果想要自绘标题和边框 xff0c 一般步骤是 xff1a 1 xff09 在创建窗口前设置Qt FramelessWindowHint标志 xff0c 设置该标志后会创建一个无标题 无边框的窗口 2 xff09 在客户区域的顶部创
  • Qt:QSqlQuery

    0 说明 QSqlQuery提供了执行SQL代码的方法 QSqlQuery封装了在QSqlDatabase中查询 检索数据的相关函数 它可以用来执行如SELECT INSERT UPDATE DELETE等方法 xff0c 也可以执行如CR
  • Qt - 读取GPS数据

    1 GPS型号为ublox xff08 EVK M8L xff09 xff0c 配有USB接口 xff0c Qt版本5 7 2 实现步骤 xff1a 1 实现串口通信 采用Qt5 7 内置的串口操作类QSerialPort和QSerialP
  • QT打包的两种方式

    QT打包的两种方式 xff1a 一个是QT5自带的windeployqt xff08 不需要下载安装 xff09 xff0c 它可以找到程序 xff08 exe xff09 用到的所有库文件 xff0c 并且都拷贝到exe程序的当前文件 此
  • Qt使用FFmpeg播放视频

    一 使用场景 因为项目中需要加载MP4播放开机视频 xff0c 而我们的设备所使用的架构为arm架构 xff0c 其中缺乏一些多媒体库 安装这些插件库比较麻烦 xff0c 所以最终决定使用FFmpeg播放视频 二 下载编译ffmpeg库 2
  • Qt 性能优化:CPU占有率高的现象和解决办法

    一 前言 在最近的项目中 xff0c 发现执行 Qt 程序时 xff0c 有些情况下的 CPU 占用率奇高 xff0c 最高高达 100 项目跑在嵌入式板子上 xff0c 最开始使用 EGLFS 插件 xff0c 但是由于板子没有单独的鼠标
  • Qt - 获取系统当前时间

    简介 Qt获取系统当前时间的四种方法 xff08 一般使用第一种或者第二种 xff09 方法一 xff1a 获取带日期的时间 xff0c 使用QDateTime类 QDateTime current date time 61 QDateTi
  • Git 常用基本命令使用详细大全

    在进行项目开发时 xff0c 都会用到版本控制工具 xff0c 如svn Git等 xff0c 随着Git的发展 xff0c 渐渐的被越来越多的人使用 xff0c 甚至慢慢在取代svn的地位 下面将从Git仓库的创建 Git常用的基本命令
  • ROS-Melodic下 Gazebo+Turtlebot安装

    上一篇教程 xff1a Win10 43 Ubuntu18 04双系统安装 amp ROS Melodic安装 一 Gazebo安装 在终端运行 sudo apt get install ros melodic gazebo ros pkg
  • git修改commit的内容

    在使用git提交代码的时 xff0c git commit m 34 内容 34 如果内容编写错误 xff1a 使用git commit amend 对上次提交的内容进行修改 然后git push 即可
  • OFFICE开发技术讲座:边框,是四边各一个,还是只一个

    有一段时间专门研究了一下边框 xff08 文字 xff0c 段落 xff0c 页面 xff09 xff0c 看到边框的代码觉得非常啰嗦 而啰嗦代码是吾坚决反对的 啰嗦在哪里 xff1f 比如说给段落设置上下左右边框 xff0c 结果是一个边
  • ESP8266NodeMCU-手机端远程点灯

    本节通过ESP8266NodeMCU连接到wifi xff0c 通过点灯blinker app来开关灯 xff0c 同时也可以通过小爱同学语音控制开关灯 准备工作 xff1a 1 手机端下载 点灯blinker 软件 xff0c 应用市场可
  • 六石管理学:为什么人是很容易忽悠的

    人很容易被忽悠 xff0c 所以是乌合之众 xff0c 所以舆论很重要 为什么人容易被忽悠 xff1f 不外乎三点 xff1a 喜欢听好听的 喜欢占小便宜 喜欢眼前得益 这是人之常情 能克服这三点的 xff0c 才真的了不起
  • 六石管理学:什么样的建议会被听取?

    因为思维的局限 xff0c 人会考虑不周 xff0c 很多事情给忽略了 有时候 xff0c 很严重的问题 xff0c 都会视而不见 这还不可怕 xff0c 更可怕的是什么 xff1f 就是你跟他提了 xff0c 严重性也说了 xff0c 他

随机推荐