Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Calculate time spent on non blocking communication?
From: Eugene Loh (eugene.loh_at_[hidden])
Date: 2011-02-03 01:05:46


Okay, so forget about Peruse.

You can basically figure that your user process will either be inside an MPI call or else not.  If it's inside an MPI call, then that's time spent in communications (and notably in the synchronization that's implicit to communication).  If it's not inside an MPI call, then that's time spent in computation.  Basically, no time in this model is attributed to both communication and computation at once.

There is an OMPI FAQ on performance tools.  http://www.open-mpi.org/faq/?category=perftools  Perhaps something there will be helpful for you.  Specifically, the "Sun Studio Performance Analyzer" allows you to divide that "communication" time between "data transfer time" and "synchronization time".  But a basic classification as either communication or else computation is pretty central to all the tools.

Bibrak Qamar wrote:
As asked the reason of such calculation of non blocking communication, the main reason is that I want to look into the program as how much it percent time is consumed on communication alone, computation alone and the intersection of both.

On Thu, Feb 3, 2011 at 5:08 AM, Eugene Loh <eugene.loh@oracle.com> wrote:
Again, you can try the Peruse instrumentation.  Configure OMPI with --enable-peruse.  The instrumentation points might help you decide how you want to define the time you want to measure.  Again, you really have to spend a bunch of your own time deciding what is meaningful to measure.

Gustavo Correa wrote:

However, OpenMPI may give this info, with non-MPI (hence non-portable) functions, I'd guess.

From: Eugene Loh <eugene.loh@oracle.com>

Anyhow, the Peruse instrumentation in OMPI might help.