I’m trying to attach interactively to a remote Linux x86_64 box from a MacOS host. I’ve entered all the SSH details, but the Process Name box remains empty when I hit refresh. There doesn’t seem to be any way to check that the SSH connection is actually working (unlike Nsight Systems where you connect to the remote before launching). Is there a way to get more information on the SSH connection (e.g. a log file somewhere)?
You can check if the SSH connection is working e.g. by using the “Application Executable” remote file selection dialog (“…” button) on the “Launch” tab, with the remote target platform still selected on the left.
Did you launch the process using the
ncu command line executable on the remote system with
--mode launch? Otherwise, the process won’t be available for attaching from your local system. Alternatively, you can launch directly on the remote target system using that same tab, instead of attaching to a remote process.
Thank you. Yes I did have
ncu --mode=launch <exec>.
The problem is that I can’t SSH directly to the GPU node (
gpuhost), instead I have to use a jump host (
At first I tried setting
Host gpuhost ProxyJump jumphost
.ssh/config, however Nsight Compute doesn’t seem to recognise it (the dialog says “connection failed”).
Then I tried setting up port forwarding:
ssh -L 2022:gpuhost:22 jumphost
Then I can
ssh -p 2022 localhost to connect to
gpuhost, but if I enter
localhost as the target and 2022 as the port in the Nsight Compute remote dialog, the … button will just show me my current computer, which suggests the port handling isn’t working correctly.
Okay, I found that if I used
127.0.0.1 instead of
localhost, I was able to get the port forwarding working for the Remote Launch
... dialog. But I still don’t see any processes under
SSH config files are supported starting with Nsight Compute version 2021.3, see also the documentation on it here. Nsight Compute uses
localhost to refer to the local machine, which is why no SSH connection is attempted in that case. Have you checked if launching the remote executable through your local Nsight Compute UI is working, rather than trying to attach to the remote process?