Logo of Science Foundation Ireland  Logo of the Higher Education Authority, Ireland7 Capacities
Ireland's High-Performance Computing Centre | ICHEC
Home | News | Infrastructure | Outreach | Services | Research | Support | Education & Training | Consultancy | About Us | Login

ICHEC Software

Information about software packages installed on the ICHEC systems.

ALLINEA

Versions Installed

Fionn: 4.1 / 4.1.1 / 4.2 / 4.2.1 / 5.0

Description

Two Allinea tools are provided on Fionn: DDT and MAP. DDT (The Distributed Debugging Tool) is a comprehensive graphical debugger for scalar, multi-threaded and large-scale parallel applications that are written in C, C++ and Fortran.
While MAP is a profiling tool for analysing MPI and multi-threaded applications that provides information on both serial and parallel parts of your code.

License

N/A.

Benchmarks

N/A.

Additional Notes

As DDT and MAP are both graphic tools, you'll need both a X11 server running on you own machine, and X11 forwarding via a ssh connection. If you are working on a Unix-like machine, Linux, Mac OS X etc., the X11 server should be present by default. If you are working on a MS Windows system, you will probably need to install one. Xming is a common choice. Finally, X11 forwarding over your connection should be enabled by simply adding the - X option to your ssh command line:

$ ssh -X <username>@fionn.ichec.ie

To load both MAP and DDT type:

$ module load dev allinea/4.2
DDT is then run by typing
$ ddt
and MAP by typing
$ map

Dealing with batch Submission

The first time you run DDT or MAP, a few extra steps are required in order to ensure it works with the batch system. These settings will be remembered for future sessions. In the same way as other jobs, your debugging job has to be launched through the batch manager via a PBS script. An example script is included in the templates subdirectory of the package. Note that this has the '.qtf' extension and includes special tags that DDT and MAP will interpret. You can adapt this script for your own jobs, however a simpler way for you to run your PBS script at hand is discussed below in the 'manual launch of DDT' section. Now, in order to configure DDT and MAP start either program.

From the main window that opens on start up, (DDT was used for this example, but MAP looks almost identical) select the "Options" button, and click on the "Job Submission" menu. Tick the "Submit job through queue" option, and fill the different fields with the appropriate commands. Note: on Fionn the PROCS_PER_NODE_TAG value should normally be set to 24. If submitting to the GpuQ or PhiQ, set it to 20.
Your DDT and MAP environments should now be ready to permit you to run your first debugging or profiling job.

Running DDT

When you are ready to start, type:

$~/allinea/DDT> ddt
  1. At DDT start, click on the "Run and Debug a Program" button. Here, select your binary to debug and adjust the number of nodes. You can now simply click on the Submit button, and wait for your job to be launched by the batch scheduler. During this phase, the state of the batch queues is updated continuously with the command you provided in the Job Submission dialogue. You can also cancel your job if needed with the appropriate button.
  2. After a brief wait, if everything went well, your job should start and then you should get a new window where you can your debugging session.
You are now ready to discover all the features that DDT has to offer.

Running MAP

When considering the walltime necessary for your job to run, you must consider that fact that the MAP needs to analyse your code at the end of the run. This can take up to 10 or 20 minutes on top of the normal program runtime and this needs to be allowed for. MAP will also increase the run time by about 5%, so take this into account too. Unlike DDT the analysis is done after the program has completed and thus you can spend as long as you want analysing the profile without worrying about your budget! When you are ready to start, type:

$~/allinea/MAP> map
  1. At MAP start, click on the "Profile" button. Here, select your binary to debug, adjust the number of nodes to use and number of MPI process per node to launch. You can now simply click on the Submit button, and wait for your job to be launched by the batch scheduler. During this phase, the state of the batch queues is updated continuously with the command you provided in the Job Submission dialogue. You can also cancel your job if needed with the appropriate button.
  2. After a brief wait, if everything went well, your job should start and then you should get a window where MAP prints the output of your program.
  3. MAP will now run your program and then analyse it. This can take a little time. Worth noting is that you can come back later by using the 'Load Profile Data File' on the main screen after start-up.
You are now ready to discover all the features that MAP has to offer.

Manual launch of DDT for an interactive batch Submission

Sometimes it can be desirable to manually launch DDT which also enables a simple way to use the PBS script at hand. For this purpose, we follow the job submission settings discussed above. Afterwards, we do two additions to the PBS script:

module load dev allinea/latest
and the line with mpirun command is modified as:
mpirun -np 24 ddt-client ./my_executable
Then we first manually launch DDT by doing 'Manual Launch->Listen'. Next we start an interactive job
$ qsub -I -l nodes=1:ppn=24,walltime=00:30:00 -A
qsub: waiting for job 1268077 to start
qsub: job 1268077 ready
Directory: /some/directory/here
Mon Feb 13 15:47:58 GMT 2017
and afterwards run our script:
$ ./my_PBS_script

Notes

For more information see the Allinea website.

Return to the software index