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
