CUDA Development for Jetson with NVIDIA Nsight Eclipse Edition

Originally published at: https://developer.nvidia.com/blog/cuda-jetson-nvidia-nsight-eclipse-edition/

Figure 1: NVIDIA Jetson TX2 Developer Kit. NVIDIA Nsight Eclipse Edition is a full-featured, integrated development environment that lets you easily develop CUDA applications for either your local (x86) system or a remote (x86 or ARM) target. In this post, I will walk you through the process of remote-developing CUDA applications for the NVIDIA Jetson…

Is it true that if one has fully installed JetPack 3.0 on the host machine connected to the Jetson TX2, then the section "CUDA Cross-Platform Environment Setup" can be skipped (i.e., its content took place during the JetPack 3.0 installation)?

Hi, Run and Debug setup information in your blog is not enough to setup my TX2 dev env with my TX2 dev kit. Can you provide these steps in details with screen shots pl ease?

Yes, cross compile libs and compiler will be installed before JetPack installing ‘Compile CUDA Samples’.

Can you provide more details on which part you are having issues? The remote connection dialog should look the same as shown in the screenshot.

I'm having an issue to run the example on TX1. I get the following error: "CUDA driver version is insufficient for CUDA runtime version".
My dev machine has Cuda 8.0.61 while the TX1 has 8.0.33. I checked my GPU and PTX for 5.3 generation and still the same problem. I can compile and the samples normally directly on TX1, but the cross compile isnt working.
Can you help me?

Edit1: My dev machine has a GTX 1080, which is only supported at 367 driver with cuda 8.0.44. Is there a way to use cuda 8.0.33 with GTX 1080 so I can have the same version of TX1?

https://uploads.disquscdn.c...

You can have multiple versions of CUDA installed on your host machine. You don't have to install the driver on the host machine when installing CUDA toolkit on host for Cross compiling. You can download Jetpack to install compatible host and target CUDA toolkits for TX1.

Hi I am having difficulty getting the boxFilter sample to display on the host machine. I have Cuda Toolkit 8.0 install and went through the entire walk through and everything works with compiling and running the example yet it does not display. I checked to make sure the line setenv(“DISPLAY”, “:0”, 0); is present in the main method in boxFilter.cpp and it is. If you could please help me I would greatly appreciate it.

Hi, The boxFilter sample will run and display on the target system(Jetson) if you have followed the instructions to setup the remote connection. You need to check it in the monitor attached to Jetson and not on the host machine. If you are already checking on the target system then please post the output from Nsight EE console view.

Hi, I follow your steps and install cuda-8.0.
I got an error : 'cudaErrorNvlinkUncorrectable' was not declared in this scope.
May I have your advise ?

Thanks

I fixed it by copy helper_cuda.h to 'include' folder.
No idea why it doesn't exist.

"Enabled the foreign architecture" step seems to assume I'm using a linux / Ubuntu dev machine. What's the equivalent of "sudo dpkg --add-architecture arm64" for mac? NSight eclipse is, after all, available on Mac. I just can't seem to get it set up for TX2/CUDA development.

EDIT: So I went back to the drawing board and started over in an Ubuntu 16.04 Parallels VM. Naturally, after installing the DEB package and rebooting, the entire desktop is now black (can only see the launcher), and I can't go any further. So it doesn't work on Mac, and it bricks Ubuntu 16.04 (VM). Seems like options are pretty limited. Does it work in Windows?

I had to change to:

setenv ("DISPLAY", ":1", 0);

Otherwise the following error:


/nsight-debug$ ./boxfilter-arm
./boxfilter-arm Starting...


Loaded './data/lenaRGB.ppm', 1024 x 1024 pixels
GPU Device 0: "NVIDIA Tegra X2" with compute capability 6.2




No protocol specified
freeglut (./boxfilter-arm): failed to open display ':0'