Hi Ray, > So, to make sure I understand what happens... This command: > > mpirun -np 2 myprog > > starts the program "mpirun" and two processes of "myprog". So, what > the "real time" of /usr/bin/time reports is the wall clock for mpirun.
Exactly. > Does the user time have any meaning here? At least no meaning you can be sure of what it measures (could be time of MPI infrastructure setup, could be time of setup + masterthread, could be something completely different - depends on MPI implementation). > I'm not very good with the > theory behind multi-processor programming...but Perl (for example)has > a "times" function (http://perldoc.perl.org/functions/times.html) > which "Returns a ... list ... for this process and the children of > this process". Are the two instances of myprog considered children > of mpirun? In single system setup: generally yes. In multisystem setup: no. The MPI processes span many computers over e.g. ssh. > Hmmmm, I guess user time does not matter since it is real time that > we are interested in reducing. Right. Even if we *could* measure user time of every MPI worker process correctly this was not what you are interested in: Depending on the algorithm a significant amount of time could get spend waiting for MPI messages to arrive - and that time would not count as user time, but also was not 'wasted' as something important happens. Best regards Fabian