Glad it worked!
On Nov 13, 2011, at 6:15 AM, Pedro Gonnet wrote:
>
> Sorry for the long delay on my behalf too.
>
> Using MPI_Init_thread with MPI_THREAD_MULTIPLE fixes this problem!
> Should have had a closer look at the documentation...
>
> Cheers,
> Pedro
>
>
>
>> Sorry for the delay in
Sorry for the long delay on my behalf too.
Using MPI_Init_thread with MPI_THREAD_MULTIPLE fixes this problem!
Should have had a closer look at the documentation...
Cheers,
Pedro
> Sorry for the delay in replying.
> I think you need to use MPI_INIT_THREAD with a level of
> MPI_THREAD_MULTIPLE
Sorry for the delay in replying.
I think you need to use MPI_INIT_THREAD with a level of MPI_THREAD_MULTIPLE
instead of MPI_INIT. This sets up internal locking in Open MPI to protect
against multiple threads inside the progress engine, etc.
Be aware that only some of Open MPI's transports are
Hi again,
As promised, I implemented a small program reproducing the error.
The program's main routine spawns a pthread which calls the function
"exchange". "exchange" uses MPI_Isend/MPI_Irecv/MPI_Waitany to exchange
a buffer of double-precision numbers with all other nodes.
At the same time, t
Short update:
I just installed version 1.4.4 from source (compiled with
--enable-mpi-threads), and the problem persists.
I should also point out that if, in thread (ii), I wait for the
nonblocking communication in thread (i) to finish, nothing bad happens.
But this makes the nonblocking communic
Hi all,
I am currently working on a multi-threaded hybrid parallel simulation
which uses both pthreads and OpenMPI. The simulation uses several
pthreads per MPI node.
My code uses the nonblocking routines MPI_Isend/MPI_Irecv/MPI_Waitany
quite successfully to implement the node-to-node communicat