Thanks Jeff! That's very helpful. Cheers!
Jacky On Wed, Apr 24, 2013 at 10:56 AM, Jeff Squyres (jsquyres) < jsquy...@cisco.com> wrote: > On Apr 24, 2013, at 10:24 AM, Thomas Watson <exascale.sys...@gmail.com> > wrote: > > > I still have a couple of questions to ask: > > > > 1. In both MPI_THREAD_FUNNELED and MPI_THREAD_SERIALIZED modes, the MPI > calls are serialized at only one thread (in the former case, only the rank > main thread can make MPI calls, while in the latter case the threads need > to be coordinated so that only one thread makes MPI calls at a time). So > are there any performance implications associated with choosing between > FUNNELED or SERIALIZED? > > In Open MPI, no. > > > 2. My current code uses many MPI collective calls > (gather/scatter/broadcast, etc.). It seems that these collective calls have > some negative impact on performance because ALL MPI processes need to wait > on each of these calls. I would like to explore the idea of decoupling > computation from MPI communication - so if one thread of each MPI rank is > blocked at a MPI call, the other threads can still make progress. I am > wondering if I could still make MPI calls from the other non-blocked > threads using MPI_THREAD_FUNNELED or MPI_THREAD_SERIALIZED mode (assuming > that the blocked thread is the main thread in the rank)? > > MPI-3 introduced the concept of non-blocking collectives (e.g., > MPI_Igather). Open MPI 1.7.x has preliminary versions of these, but the > implementations concentrated on correctness: they haven't been optimized > yet. You might need to check how well MPI_Gather performs in a separate > thread vs. MPI_Igather. > > Also, be aware that not all collectives are synchronizing. Depending on > the back-end algorithm that is used to implement any given collective, one > MPI process may return much earlier from a collective call than one of its > peers in the same collective call. For example, with MPI_Gather of a short > message, all non-root processes might do an eager send and return > more-or-less immediately. The root will need to block, however, until all > messages are received. > > Make sense? > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users >