Logo of Science Foundation Ireland  Logo of the Higher Education Authority, Ireland7 CapacitiesGPGPU Research Projects
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

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. However as this script's purpose is only to explain to DDT and MAP the way in which it will have to submit debug and profiling jobs, it can be quite simple. Moreover, you should be able to reuse the same script for all your debugging sessions, as the script will be based on some special tags that DDT and MAP will interpret and adapt to refer to its current needs. The most useful tags are shown in this table. These tags will permit us to write template scripts which can be adapted to most of your actual jobs. An example script is included in the templates subdirectory of the package, note that this has the '.qtf' extension. This is the one we shall use in this example. 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.

For more information see the Allinea website.

Return to the software index