【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 主机端 ...
随机推荐
- HDFS的读写流程
1.2. 客户端向NameNode发起创建文件的请求,在NameNode上创建一个文件名,并且返回一个输出流 3.客户端向输出流发起写入数据的请求 4.输出流向NameNode请求写数据,NameNo ...
- vue发送websocket请求和http post请求
直接上代码: pdf.vue <script> import SockJS from 'sockjs-client'; import Stomp from 'stompjs'; impor ...
- windows node版本管理工具nvm
有时候,不同的项目需要使用不同的node版本.我们可以使用nvm管理不同的node版本.具体使用方法如下: 1.下载安装nvm 点击我下载nvm 解压下载的文件,双击nvm-setup.exe 直接下 ...
- [Unit test] jasmine createSpyObj
beforeEach(() => { contextStub = { debug: false, engine: jasmine.createSpyObj('engine', [ 'create ...
- LeetCode 865. Smallest Subtree with all the Deepest Nodes
原题链接在这里:https://leetcode.com/problems/smallest-subtree-with-all-the-deepest-nodes/ 题目: Given a binar ...
- 为什么很多人坚信“富贵险中求”?
之家哥 2017-11-15 09:12:31 微信QQ微博 下载APP 摘要 网贷之家小编根据舆情频道的相关数据,精心整理的关于<为什么很多人坚信"富贵险中求"?>的 ...
- 【JZOJ5551】【20190625】旅途
题目 \(n\)个点\(m\)条边的无向图,一条路径的代价定义为路径上前\(k\)大边的边权和 对于$k = n \to 1 $,求1-n的最短路 \(n,m \le 3000 \ , \ w_i \ ...
- 【luoguP2986】[USACO10MAR]伟大的奶牛聚集Great Cow Gathering
题目链接 先把\(1\)作为根求每个子树的\(size\),算出把\(1\)作为集会点的代价,不难发现把集会点移动到\(u\)的儿子\(v\)上后的代价为原代价-\(v\)的\(size\)*边权+( ...
- JavaScript 箭头函数
ES6新标准增加了一种新的函数,箭头函数. x=>x*x 相当于: function (x){ return x*x; } 如果参数不是一个,就需要用括号()括起来: // 两个参数:var t ...
- fiddler自动生成jmeter测试脚本
概述 昨天我们在课堂上讲了如何通过fiddler抓包,单一接口可以复制到jmeter中进行接口测试,那么如果抓包获取了大量的接口,我们如何快速实现接口转换成jmx文件呢? 今天给大家介绍fiddler ...