Using Allinea Forge via Reverse Connect

Setup the Allinea client software to use Reverse Connect

The Allinea DDT/MAP software supports a Reverse Connect feature.  The GUI is installed and run locally, and information from the job running on the cluster is sent back to your laptop/workstation via SSH.  This is the recommended way to use the software for interactive debugging/profiling of a job on HCC resources.  Traditional X11 forwarding will also work, but is not recommended as the interface can be much slower to respond.  In order to follow along with the demos, use these instructions to setup the Allinea client on your laptop.

First, download and install the remote client software for either Windows or OS X from this page. Alternatively, download the software directly for your OS: [OS X direct link] [Windows 64-bit direct link]

Start the Allinea software, and choose Configure… from the Remote Launch dropdown menu.

Click the Add button on the new window.

To setup a connection to Swan, fill in the fields as follows:

Connection Name: Swan
Host Name:  <username>
Remote Installation Directory:  /util/opt/allinea/22.0

It should appear similar to this:

Be sure to replace <username> with your HCC username.

Click OK to close this dialog, and then Close on Configure Remote Connections to return back to the main Allinea window.

Test the Reverse Connect feature

To test the connection, choose Swan from the Remote Launch menu.

A Connect to Remote Host dialog will appear and prompt for a password.

The login procedure is the same as for PuTTY or any other SSH program. Enter your HCC password followed by the Duo login. If the login was successful, you should see Connected to: <username> in the lower right corner of the Allinea window.

The next step is to run a sample interactive job and test the Reverse Connect connection.  Start an interactive job by running the following command.

Start an interactive job
srun --pty --qos=short bash

Once the job has started, load the allinea module and start DDT using the --connect option.

Start DDT
module load allinea
ddt --connect

On your local machine, a pop-up box should appear prompting you to accept the Reverse Connect request.

Choose Accept.  The Remote Launch section should change to indicate you are connected via tunnel, similar to:

Once that happens, Reverse Connect is working successfully and a debugging or profiling session can be started.

Starting interactive jobs for serial, OpenMP/pthreads, MPI, and CUDA code

The srun syntax is slightly different depending on which type of code you are debugging.  Use the following commands to start interactive jobs for each type.

Serial code
 srun --pty --time=2:00:00 bash
OpenMP/pthreads code
srun --pty --time=2:00:00 --nodes=1 --ntasks-per-node=4 bash 
MPI code
srun --pty --time=2:00:00 --ntasks=4 bash
CUDA code
srun --pty --time=2:00:00 --partition=gpu --gres=gpu bash