|
|
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.
Anyhow, the Peruse instrumentation in OMPI
might help.
|
|
|