On Fri, Oct 22, 2010 at 2:46 AM, Tim Kroeger
<[email protected]> wrote:
> On Thu, 21 Oct 2010, Roy Stogner wrote:
>
>> It looks like there's a deadlock in here in parallel?  You're doing
>> blocking sends followed by blocking receives?  Probably need to switch
>> those (at least the sends, but optimally both) to non-blocking.
>
> Good point.  It worked for me, but aparently I've just been lucky.
>
> I didn't find any place in the library where non-blocking communication is
> used so far, so could you please double-check that I did it right now?

It's difficult to search for them since we've named them both "send"
in our C++ MPI interface, but there is an example of a non-blocking
send in mesh_communication.C, line 333.

> I don't think that non-blocking receives would gain much performance here.

One paradigm is to post all the non-blocking receives before doing all
of the non-blocking sends.  I guess the idea that all the processors
are then "ready" to receive their message(s), no matter what order the
non-blocking sends are actually completed in.  In practice, it
probably doesn't make much difference, but it's always nice to avoid
potential deadlocks by using non-blocking versions of the
communication routines.

-- 
John

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to