Nsight Systems Remote connection to Docker

Hi,

I am running:

  1. Docker container on ORIN AGX development kit (jetpack 5.1.1)
  2. Nsight system 2022.5.2 GUI on Host with Ubuntu 20.

I am able to establish remote connection to the ORIN AGX from the host and profile my application.
However, I fail to establish remote connection to docker container running on the same jetson (same IP, different port). I receive “No root access” error in nsight systems. The docker user has root privileges and “sudo” is installed.

I tried to run the container with “–privileged=true” and “–cap-add=SYS_ADMIN” as suggested in the user guide but it did not work - https://docs.nvidia.com/nsight-systems/UserGuide/index.html.

Please assist with directions for Nsight Systems Remote connection to Docker.

Thanks,
Rinat

@Andrey_Trachenko can you assign someone for this.

Hello @rinat.m,

Thank you for raising this issue. To be honest, this is not a typical scenario, and most of our users use the Nsight Systems CLI when they need to profile inside a Docker container. May I first suggest a workaround with the CLI.

In the future, we would like to make it easier to install Nsight Systems CLI on Tegra in a Docker container as a deb package. At the moment, it’s easiest to mount the installed package of Nsight Systems from the L4T environment into the container.

  • On Jetson (outside of the container), make sure that Nsight Systems is installed:
    /opt/nvidia/nsight-systems/2022.5.2/bin/nsys
  • Mount the installation directory when running a Docker container:
    docker run ... -v /opt/nvidia/nsight-systems/2022.5.2:/nsys ...
  • Inside the container, use the following command to profile:
    /nsys/bin/nsys profile ...
  • Copy the generated .nsys-rep file back onto your host system, and open it in the Nsight Systems GUI.

Further, on our side, we will try to reproduce your environment where there is an SSH server and sudo in the docker container, and we’ll see if there is a bug on our side that we can fix.

Hello Andrey,

I want to run the Nsight systems on host computer to avoid performance overhead (When i run the nsight system on the Jetson AGX without docker container, I noticed performance overhead exists).

Also - I wish to measure performance on two separated docker containers. Can i merge both of the logs on Nsight systems to get a unified timeline report ?

Thank you,
Rinat

Hi,
Any news on the issue?

Thank you,
Rinat

I think what you are meaning here is that you want to launch from the host and run on the Jetson, that is essentially the same functionally as running the CLI on the Jetson and then opening the GUI on the host.

However, yes, you can combine results from multiple analyses together see User Guide :: Nsight Systems Documentation (It is a direct link, the forum software just displayed the top level page name).

I think for “inside the container” you want
/nsys/target-linux-tegra-armv8/nsys profile ...

In my case there was no /nsys/bin/nsys, only /nsys/bin/nsys-ui which was a link to the armv8 host graphical app.