Newsgroups: comp.parallel.mpi,comp.programming.threads From: "Hans Leichtl" Subject: Re: Mixing MPI and Threads Organization: Digital Equipment Corporation - Marlboro, MA Date: Mon, 12 Jan 1998 17:27:25 -0500 Message-ID: <69e5cl$ke2$1@mrnews.mro.dec.com> i think Alison is right. the MPI_irecv() call should not be the problem, as it will only look quickly if something is there. but, and i'm not 100% sure, the mpi_isend() will return immediately. which means that you could do a receive while a send is in progress. i was struggling a lot trying to get MPI and threads to work together. the problem is in the internal implementations of the mpi version. they use either some global state or global variables. there is one mpi version on windows nt that does support async communication (but it only supports a subset of all the mpi functionality) besides, if you use threads, then also use blocking calls, as the threads will make the blocking calls appear to be nonblocking. if you use non-blocking calls, why bother using threads. (and what good is it to sequentialize the calls to MPI again, depending on your type of appplication, of course). good luck. regards, hans