Few parallel debuggers exist for the moment, and most of them are expensive, and not very useful. This tool shouldn't be one.
When people start learning MPI, there is 2 things they mainly get wrong :
- communications (the typical example is the broadcast call, that has to be performed by all the nodes, and that learners only use on one)
- sending the wrong data, either from the wrong source using a wrongly build datatype, or to the wrong node.
The first draw of some requirements can be:
- a graphical interface to visualise ongoing actions
- being able to monitor the state of a MPI node
- being able to bloc when a monitored action occurs for the user to see it (communication waiting, sending, ...)
- being able to register and track some simple data (1D arrays)
- visually
- derived datatypes
- nD arrays
The MPI coursework from the 1st semester will provide a testing case, and the first goal of the project is to demonstrate how this peace of code works using the tool.
Two main dangers have to been taken care of during the project specifications:
- being too ambitious will result in a project failure, struggling with implementation
- being not ambitious enough will result in a useless tool
Next meeting: 07/02/11
Work to be done: try to use the profiling interface with MPICH2 and OpenMPI.
No comments:
Post a Comment