【ARM-Linux开发】【CUDA开发】NVIDIA Jetson TX2 进阶:Nsight Eclipse Edition
- 嵌入式平台:NVIDIA Jetson TX2
- 嵌入式系统:Ubuntu16.04
- 虚拟机系统:Ubuntu14.04
一、NSight简介
Jetpack开发工具为人工智能提供了一整套软件架构,包括代码示例(Sample
Code)、NSight开发工具(NSight Developer Tools)。同时也为我们提供了丰富的多媒体API(Multimedia API),这些API涵盖深度学习(Deep
Learning)、计算机视觉(Computer
Vision)、图像渲染(Graphics)、多媒体(Media)等,对底层硬件提供了很好的支持。
如果我们在主机中安装了Jetpack工具包,那么开发利器Nsight Eclipse Edition已经安装在我们的主机(Host)中。如果找不到这个应用程序安装在哪里,可以使用如下方法进行搜索:
一般来说,针对嵌入式平台的开发有两种编译模式:原生编译和交叉编译。原生编译就是直接在嵌入式平台上编译代码并运行,而交叉编译就是在个人电脑等平台编译代码,然后加载到嵌入式平台运行。我们在Jetson TX1开发上使用交叉编译,这里需要提醒一下各位小伙伴,交叉编译需要在Jetson TX1和Host电脑间同步代码,所以需要提前安装和配置Git,否则在后续编译执行的时候会报错的呦,开发工具会深情地问你”Can
you tell me who you are”。
二、使用NSight进行交叉编译
我们将使用Jetpack中自带的CUDA例程,进行交叉编译。
1.创建CUDA工程
打开Nsight Eclipse Edition软件,出现工程文件保存地址对话框,我就将工程文件保存在了/home/jack/Nsight-WorkSpace目录下,点击OK进入IDE:
点击IDE的File->New->CUDA C/C++ Project,开始创建CUDA工程。
选择Import CUDA Sample,然后输入Project name,这里暂且命名为test。点击Next进入下一步。
选择oceanFFT,交叉编译这个程序进行测试。点击Next进入下一步。
这里使用默认参数,直接点击Next。
现在,重点来了,这里默认使用的是本地系统,也就是用主机的东西进行编译,点击”X”号,取消Local System。随后点击Manage,添加一个远程连接。
进入远程连接添加界面,点击Add进行添加。
添加信息如下,Host name为TX1的IP地址,User name为ubuntu,其他信息默认,点击Finish,完成添加。
点击Browse,添加工程的保存路径,该路径为TX1中该工程的保存路径。
点击Browse之后,需要我们添加ssh连接的密码,这里添加ubuntu。可能会出现一些提示信息,点击yes即可。
选择TX1中保存工程的路径,我选择的保存路径如下所示:
随后,使用同样的方法添加Toolkit,并选择CPU架构AARch64,最终信息如下,点击Finish完成创建:
2.交叉编译
创建成功后,我们可以看到oceanFFT.cpp源码,点击Ctrl+B进行编译,此时编译之后会在TX1的工程目录出现编译好的可执行文件。
编译过程如下所示:
3.执行test可执行文件
在TX1的~/Desktop/Jack_Cui/Nsight/Debug目录下(之前填写的TX1工程呢个路径)会生成一个test可执行文件,运行程序,可查看运行结果:
运行成功!
致谢:http://blog.csdn.net/u011475210/article/details/72853170
http://blog.csdn.net/c406495762/article/details/70912947
【ARM-Linux开发】【CUDA开发】NVIDIA Jetson TX2 进阶:Nsight Eclipse Edition的更多相关文章
- 【ARM-Linux开发】【CUDA开发】NVIDIA Jetson TX2 进阶:QtCreator安装
Here we have a short article on installing Qt Creator on the NVIDIA Jetson TX1. Looky here: Note: Th ...
- nvidia jetson tx2 刷机遇到的问题解决
一.主要信息 使用的开发板:nvidia jetson tx2(内存8g有wifi的版本) 使用的JetPack版本: 4.2.2 二.遇到的问题及解决 1. 刷好jetson os 后,开发板一直在 ...
- arm安装cuda9.0,tensorflow-gpu, jetson tx2安装Jetpack踩坑合集
因为要在arm(aarch64)架构的linux环境中安装tensorflow-gpu,但是官方tf网上没有对应的版本,所以我们找了好久,找到一个其他人编译好的tensorflow on arm的gi ...
- Nvidia Jetson TX2开发板学习历程(1)- 详细开箱、上电过程
考试周已经结束了,开发板也已经到了.希望借着这个假期能够好好的利用这块开发板学习Linux系统以及Tensorflow的相关知识. 我打算将学习历程通过博客的方式写出来,作为自己的笔记,也可以供以后拿 ...
- Nvidia Jetson TX2开发板学习历程( 2 )- 更换pip源,提高下载速度
通过将pip的源更换为国内源,来提高下载速度,这也将成为今后学习过程下载Python包的基础,建议前期一定要完成! 知名的国内源 清华:https://pypi.tuna.tsinghua.edu.c ...
- ARM&Linux 下驱动开发第二节
驱动文件:qudong.c,make生成qudong.ko文件,烧录到ARM板上 #include<linux/init.h> #include<linux/module.h> ...
- ARM&Linux 下驱动开发第一节(小试牛刀)
#include<linux/init.h> #include<linux/module.h> static int __init hello_init(void) { pri ...
- ARM&Linux 下驱动开发第三节
后台驱动代码如下:比较昨天的,添加了读写指针位置移动操作 #include<linux/init.h> #include<linux/module.h> #include< ...
- NVIDIA Jetson TX2刷机
官方安装教程 JetPack下载 主机端环境准备 需要在PC端安装虚拟机,虚拟机中安装Ubuntu14.04系统. 按照上面的地址下载JetPack-L4T-3.1-linux-x64.run 主机端 ...
随机推荐
- 开源项目(5-1) yolo万能检测识别
(1)Windows10+YOLOV3+VisualStudio2017最新版本超详细过程 https://blog.csdn.net/KID_yuan/article/details/8838026 ...
- 我的.NET之路
有时感觉知识比较零散,做个总结形成自己的知识体系,方便查阅[持续更新...] C#语法特性 .Net FrameWork发展史 C# 语言版本发展史 1.NET体系结构 [C#与.NET的关系.公共语 ...
- 关于单片机的RAM
一块RAM 分为了 堆 和 栈 名词而已,知道就可以了, 各种内存溢出问题: 全局数组访问越界 出现的问题:直接重启,或者死机 解决办法 : 额,写好自己的程序吧!!!!!!! 函数的局部变量过 ...
- [CQOI2007]涂色paint(BZOJ 1260)题解
题目描述 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符串表示这个目标:RGBGR. 每次你可以把一段连续的木版涂成一个 ...
- 计蒜客 41387.XKC's basketball team-线段树(区间查找大于等于x的最靠右的位置) (The Preliminary Contest for ICPC Asia Xuzhou 2019 E.) 2019年徐州网络赛
XKC's basketball team XKC , the captain of the basketball team , is directing a train of nn team mem ...
- YAML语法基础(K8s基础)
对于YAML语言,网上有很多将YAML转换为JSON格式的在线转换器,以下内容都可直接验证,另外若有兴趣更深入学习YAML,可到其官方站点去学习,下面介绍的仅仅是比较常用的内容,并非YAML语法的全部 ...
- fiddler自动生成jmeter测试脚本
概述 昨天我们在课堂上讲了如何通过fiddler抓包,单一接口可以复制到jmeter中进行接口测试,那么如果抓包获取了大量的接口,我们如何快速实现接口转换成jmx文件呢? 今天给大家介绍fiddler ...
- 【Gamma】Scrum Meeting 3
目录 写在前面 进度情况 任务进度表 Gamma阶段燃尽图 照片 写在前面 例会时间:5.27 22:30-23:30 例会地点:微信群语音通话 代码进度记录github在这里 临近期末,团队成员课程 ...
- js中for..of..的使用和迭代器
for..of是ES6中引入的新特性,它主要的作用是:循环一个可迭代的对象. 它可以循环遍历,数组.字符串.Set对象等等,先来看两个简单的例子: 遍历字符串 let str = 'Hello' fo ...
- 从太空到地球某个位置的轨迹录像制作 | Earth Zoom in/out Tutorial (Record Video)
视频教程:Google Earth - Earth Zoom in/out Tutorial (Record Video) 下载google earth 在search里输入你想要去的地名 zoom ...