End-user products => DEEP => DEEP/MPI => Program analysis strategy

DEEP/MPI -- Program analysis strategy
DEEP program analysis tools allow use of both compile-time information (gathered by the instrumenter) and run-time information (gathered by a run-time profiling library) to investigate a parallel program in more detail. In analyzing a program with the DEEP system you would normally start with the tools that look at the whole program, identify procedures of interest, and then drill down with tools that look at the internal structure of these individual procedures. A typical program analysis session might proceed as follows:

  1. Start with whole program data, such as the chart of wallclock time used by procedures.

  2. Identify bottleneck procedures, using charts, tables and high-level views. For example, one function may use 50% of the wallclock time.

  3. Move to details for procedure. You can do most easily this by clicking on a procedure row in any of the procedure tables. This will create additional pages of information that relate to that procedure.

  4. Examine displays for the selected procedure, including the code abstraction and loop performance pages.

  5. Identify run-time problems. Examine the MPI Call Site Summary to see what MPI calls may constitute a bottleneck.

  6. Move to source code. This can be done by clicking on important loops in the code abstraction or loop performance tables or MPI call sites in the call site table.

  7. Remove bottlenecks. Restructure the source code. Start your own editor and modify the code.

  8. Recompile.

  9. Run again and look at the changes in the performance profile. Keep doing this until you are satisfied with the performance.

Home Contact Webmaster Legal

Copyright 2003 Crescent Bay Software Corp.