[mpich-discuss] crash in MPICH2 1.3.1

Dave Goodell goodell at mcs.anl.gov
Fri Jan 7 11:33:56 CST 2011


On Jan 7, 2011, at 6:24 AM CST, Blair, David wrote:

> This works.  Thanks for you help.

Glad to hear it.

> BTW, is there a good place other than the source to understand the locking
> rules.  I've noticed that the Wiki warns that much of the multi-threading
> info there is out of date.

Unfortunately, not really.  If you stick with the "global" locking mode, which is the only robust one right now, the rules are mostly straightforward if you stay out of the guts of the progress engine.

Basically, almost every "MPI_" function should contain an MPIU_THREAD_CS_ENTER/EXIT(ALLFUNC,) pair at the beginning and end of the function.  The progress engine will take care of releasing the lock when necessary to satisfy MPI's multithreaded progression rules.  If you really need to fiddle around inside the progress engine, let me know offline via direct email and I can point out a few important features of how it works.

The fine-grained threading approach is still experimental and has trouble with internode communication in ch3:nemesis:tcp right now.  But it has more comments explaining some of the more complicated issues in src/include/mpiimplthread.h.

-Dave



More information about the mpich-discuss mailing list