Information about software packages installed on the ICHEC systems.
Fionn: 4.1 / 4.1.1 / 4.2 / 4.2.1 / 5.0
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.
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:
To load both MAP and DDT type:
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.
Your DDT and MAP environments should now be ready to permit you to run your first debugging or profiling job.
When you are ready to start, type:
- 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.
- 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.
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:
- 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.
- 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.
- 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.
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:
qsub: waiting for job 1268077 to start
qsub: job 1268077 ready
Mon Feb 13 15:47:58 GMT 2017
For more information see the Allinea website.