[mpich-discuss] thread MPI calls
Pavan Balaji
balaji at mcs.anl.gov
Tue Jul 28 17:09:18 CDT 2009
> yes, we are using source, but we are using ANY_TAG. We can't try
> ANY_SOURCE as
> source is significant, unless I make chanages to the data package.
I'd suggest that you either use both ANY_SOURCE and ANY_TAG, or neither.
From an MPI implementation's perspective, always using ANY_SOURCE +
ANY_TAG is best for performance, since all incoming messages will have a
constant queue search time. On the other hand, if you don't use either
of them, then it'll allow the MPI implementation to use multiple queues
instead of a single queue, which reduces the search time quite a bit as
well (constant time in most cases as well). Using one of them as a
wild-card and the other as a non-wild-card is the worst-case scenario.
> We can try SERIALIZED, but that will block our next strategy which
> requires MULTIPLE.
For now, this will at least tell us whether MPI's locks are the
bottleneck or if there's some other bottleneck.
If this does show up as a problem, we can try to profile your
application with MPE and/or rlog (MPICH2's internal profiling tool).
It'll give you a nice graphical output on the amount of time spent in
each routine. Very useful for performance debugging.
-- Pavan
--
Pavan Balaji
http://www.mcs.anl.gov/~balaji
More information about the mpich-discuss
mailing list