利用NSight进行交叉编译

时间:2024-05-19 21:22:58

转载自:http://blog.****.net/c406495762
PC平台(Host): 虚拟机Ubuntu14.04
嵌入式平台(Target): Jeston TX1

一、NSight简介

    Jetpack开发工具为人工智能提供了一整套软件架构,包括代码示例(Sample Code)、NSight开发工具(NSight Developer Tools)。同时也为我们提供了丰富的多媒体API(Multimedia API),这些API涵盖深度学习(Deep Learning)、计算机视觉(Computer Vision)、图像渲染(Graphics)、多媒体(Media)等,对底层硬件提供了很好的支持。

利用NSight进行交叉编译

    如果我们在主机中安装了Jetpack工具包,那么开发利器Nsight Eclipse Edition已经安装在我们的主机(Host)中。如果找不到这个应用程序安装在哪里,可以使用如下方法进行搜索:

利用NSight进行交叉编译

    一般来说,针对嵌入式平台的开发有两种编译模式:原生编译和交叉编译。原生编译就是直接在嵌入式平台上编译代码并运行,而交叉编译就是在个人电脑等平台编译代码,然后加载到嵌入式平台运行。我们在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:

利用NSight进行交叉编译

    点击IDE的File->New->CUDA C/C++ Project,开始创建CUDA工程。

利用NSight进行交叉编译

    选择Import CUDA Sample,然后输入Project name,这里暂且命名为test。点击Next进入下一步。

利用NSight进行交叉编译

    选择oceanFFT,交叉编译这个程序进行测试。点击Next进入下一步。

利用NSight进行交叉编译

    这里使用默认参数,直接点击Next。

利用NSight进行交叉编译

    现在,重点来了,这里默认使用的是本地系统,也就是用主机的东西进行编译,点击”X”号,取消Local System。随后点击Manage,添加一个远程连接。

利用NSight进行交叉编译

    进入远程连接添加界面,点击Add进行添加。

利用NSight进行交叉编译

    添加信息如下,Host name为TX1的IP地址,User name为ubuntu,其他信息默认,点击Finish,完成添加。

利用NSight进行交叉编译

    点击Browse,添加工程的保存路径,该路径为TX1中该工程的保存路径。

利用NSight进行交叉编译

    点击Browse之后,需要我们添加ssh连接的密码,这里添加ubuntu。可能会出现一些提示信息,点击yes即可。

利用NSight进行交叉编译

    选择TX1中保存工程的路径,我选择的保存路径如下所示:

利用NSight进行交叉编译

    随后,使用同样的方法添加Toolkit,并选择CPU架构AARch64,最终信息如下,点击Finish完成创建:

利用NSight进行交叉编译

2.交叉编译

    创建成功后,我们可以看到oceanFFT.cpp源码,点击Ctrl+B进行编译,此时编译之后会在TX1的工程目录出现编译好的可执行文件。

利用NSight进行交叉编译

    编译过程如下所示:

利用NSight进行交叉编译

3.执行test可执行文件

    在TX1的~/Desktop/Jack_Cui/Nsight/Debug目录下(之前填写的TX1工程呢个路径)会生成一个test可执行文件,运行程序,可查看运行结果:

利用NSight进行交叉编译

    运行成功!

转载自:http://blog.****.net/c406495762
PC平台(Host): 虚拟机Ubuntu14.04
嵌入式平台(Target): Jeston TX1

一、NSight简介

    Jetpack开发工具为人工智能提供了一整套软件架构,包括代码示例(Sample Code)、NSight开发工具(NSight Developer Tools)。同时也为我们提供了丰富的多媒体API(Multimedia API),这些API涵盖深度学习(Deep Learning)、计算机视觉(Computer Vision)、图像渲染(Graphics)、多媒体(Media)等,对底层硬件提供了很好的支持。

利用NSight进行交叉编译

    如果我们在主机中安装了Jetpack工具包,那么开发利器Nsight Eclipse Edition已经安装在我们的主机(Host)中。如果找不到这个应用程序安装在哪里,可以使用如下方法进行搜索:

利用NSight进行交叉编译

    一般来说,针对嵌入式平台的开发有两种编译模式:原生编译和交叉编译。原生编译就是直接在嵌入式平台上编译代码并运行,而交叉编译就是在个人电脑等平台编译代码,然后加载到嵌入式平台运行。我们在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:

利用NSight进行交叉编译

    点击IDE的File->New->CUDA C/C++ Project,开始创建CUDA工程。

利用NSight进行交叉编译

    选择Import CUDA Sample,然后输入Project name,这里暂且命名为test。点击Next进入下一步。

利用NSight进行交叉编译

    选择oceanFFT,交叉编译这个程序进行测试。点击Next进入下一步。

利用NSight进行交叉编译

    这里使用默认参数,直接点击Next。

利用NSight进行交叉编译

    现在,重点来了,这里默认使用的是本地系统,也就是用主机的东西进行编译,点击”X”号,取消Local System。随后点击Manage,添加一个远程连接。

利用NSight进行交叉编译

    进入远程连接添加界面,点击Add进行添加。

利用NSight进行交叉编译

    添加信息如下,Host name为TX1的IP地址,User name为ubuntu,其他信息默认,点击Finish,完成添加。

利用NSight进行交叉编译

    点击Browse,添加工程的保存路径,该路径为TX1中该工程的保存路径。

利用NSight进行交叉编译

    点击Browse之后,需要我们添加ssh连接的密码,这里添加ubuntu。可能会出现一些提示信息,点击yes即可。

利用NSight进行交叉编译

    选择TX1中保存工程的路径,我选择的保存路径如下所示:

利用NSight进行交叉编译

    随后,使用同样的方法添加Toolkit,并选择CPU架构AARch64,最终信息如下,点击Finish完成创建:

利用NSight进行交叉编译

2.交叉编译

    创建成功后,我们可以看到oceanFFT.cpp源码,点击Ctrl+B进行编译,此时编译之后会在TX1的工程目录出现编译好的可执行文件。

利用NSight进行交叉编译

    编译过程如下所示:

利用NSight进行交叉编译

3.执行test可执行文件

    在TX1的~/Desktop/Jack_Cui/Nsight/Debug目录下(之前填写的TX1工程呢个路径)会生成一个test可执行文件,运行程序,可查看运行结果:

利用NSight进行交叉编译

    运行成功!