I am running the latest Nsight Compute 2022.1.0.0 on my Windows 10 Desktop. I can successfully profile applications running locally.
However, When I try to profile an application that runs remotely on a jetson nano, both interactive and non-interactive profiling fails.
Just to make sure, I have disabled Windows firewall and run Nsight Compute as an administrator.
When trying to do non interactive profiling, I get an indication by the progress log that the process is launched, however the profiling session seems to halt due to a syntax error:
Interactive profiling seems to to launch the process too, I can even see it running using the ‘top’ command on the Jetson side. It exists immediately without halting the program.
One thing that looks particularly suspicious is that the ncu file that is copied by Nsight Compute to the jetson is the one that is suitable for x64:
>>file /tmp/var/target/linux-desktop-glibc_2_11_3-x64/ncu
/tmp/var/target/linux-desktop-glibc_2_11_3-x64/ncu: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.4.1, stripped
Just to emphasize, The application is indeed using Cuda and I can profile it locally on the Jetson using the nvprof command line tool.
Update:
Seems that the at least on the interactive profiling, the ncu executable is not suited for aarch64 (jetson) but for linux x64.
The documentation claims that Nsight Compute can in fact target aarch64 but it is impossible to choose this architecture from the UI nor could I understand how to supply the right commands via the ncu command line tool.
Could someone please elaborate:
- Can Nsight Compute 2022.1.0.0 be used to remotely profile Cuda applications that run on the Jetson Nano?
- if so, please be kind enough to explain how exactly. I could not find this in the documentation.