What tools are available for debugging in parallel?
There are two main categories of tools that can aid in parallel debugging: • Debuggers: Both serial and parallel debuggers are useful. Serial debuggers are what most programmers are used to (e.g., gdb), while parallel debuggers can attach to all the individual processes in an MPI job simultaneously, treating the MPI application as a single entity. This can be an extremely powerful abstraction, allowing the user to control every aspect of the MPI job, manually replicate race conditions, etc. • Profilers: Tools that analyze your usage of MPI and display statistcs and meta information about your application’s run. Some tools present the information “live” (as it occurs), while others collect the information and display it in a post mortem analysis. Both freeware and commercial solutions are available for each kind of tool. 3. How do I run with parallel debuggers? See these FAQ entries: • Running under TotalView • Running under DDT 4. What controls does Open MPI have that aid in debugging?