How to profile Vulkan Compute with Nsight Graphics on remote device?


I want to profile a Vulkan Compute on the remote Jetson Orin board. First, I tried to do it with ngfx-ui tool on my machine. I can connect to the remote, can launch the app, but I can’t profile it because of the error:

ERR_NVGPUCTRPERM: The user running NVIDIA Nsight Graphics does not have permission to access NVIDIA GPU Performance Counters on the target device

I followed the instructions and changed the option to permanently allow any use to profile on the Orin. After rebooting and calling cat /proc/driver/nvidia/params | grep RmProfilingAdminOnly I see RmProfilingAdminOnly: 0, but I can’t profile the app from my local machine anyway.

Next, I tried to profile with Nsight Graphics CLI directly on the board:

/opt/nvidia/nsight-graphics-for-embeddedlinux/nsight-graphics-for-embeddedlinux-2022.3.0.0/host/linux-v4l_l4t-nomad-t210-a64/ngfx --activity="GPU Trace Profiler" --exe="/home/orin-t94/nc/vulkan/1-vulkan_compute/target/debug/vulkan_compute" --one-shot

Also I tried other combinations of options, but no matter what I do, I always get

Invalid general options

Thank you for using Nsight Graphics on our embedded platform, Jetson Orin. Sorry you ran into these issues. I will connect with the engineering team and get back to you with additional support.

Hello again,

I discussed with our engineering manager and we think you may have been using the directions for “Linux Desktop” to set the permissions vs the directions for " DRIVE, Tegra and QNX". Since you are using the Jetson Orin board you should follow the directions underneath the section entitled " DRIVE, Tegra and QNX" on the instructions page. Only the root user can access GPU perf counter. So when using connect to target device, the user should make sure to use the root account.

Does this help?


Hello @dwoods,

Thank you for coming back. I installed the system by running the SDK Manager on my host machine. And I don’t know what it means to " Set the support-gpu-tools device tree property" and how to “Recompile the Device Tree” and the instructions do not explain it. Additionally, it’s difficult to “Flash updated DTB” because I don’t have physical access to the Orin board.

Wanted to get back to you on your question. When connecting to the target Jetson Orin board from Nsight Graphics you will Select the Connection and then “Add remote connection”. Underneath the SSH tabb you should specify the IP/Host Name, User Name: = “root” and the Password = [whatever your root password is]. Click on ok. After this you should be able to launch your activity. Do you have “root” access to the system?

Unfortunately, this didn’t help either.
After launching the remote application as root, I have the following in the output window of the Nsight Graphics:

Host-------NVIDIA Nsight Graphics-----“Configuring with expected BW for metrics=2000 MB/s, sample duration=10000 ns”
Target-----GPU Trace----------------------GPU Trace failed to initialize periodic sampling library. You might not have permission to access NVIDIA GPU performance counters on the target device.