next up previous
Next: The listing of Up: Lesson 3 -- Previous: How to obtain

``Arming'' a program

``Arming'' a program means inserting special diagnostic statements so that you can see what the program is doing during execution. The simplest example of such a diagnostic statement is

#ifdef DEBUG
   fprintf(stderr, "...", ...);
#endif
MPI programs running under P4 based MPICH can be armed with special statements which will result in dumping an execution log. That log can be used later with a special program called upshot in order to observe communications which took place between processes during program execution. A similar facility called LAMLED is also available under LAM.

However, a great deal of information can be obtained using a simple printf and we shall see in fourth.c how this can be done in case of a parallel program which runs on a farm.

Like armed grenades, ``armed'' programs can sometimes explode spewing enormous amount of information, which is of limited interest or use to anyone but the author of the program. End user applications should not be ``armed''.



Zdzislaw Meglicki
Tue Feb 28 15:07:51 EST 1995