[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