Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] funnel-threaded application blocks from time to time
From: Alexandru-Adrian TANTAR (Alexandru-Adrian.Tantar_at_[hidden])
Date: 2008-02-18 10:30:59

Hi everyone,

I have a problem regarding funnel-threaded OpenMPI-based applications.
The application I try to launch (nothing complicated) blocks during the
execution from time to time. And I have to say this is quite a
fun-breaker :D.

I will try to put this in a very simple way: I have the following code
which does nothing more than a "request" for a funneled "environment"
which, once initialized, is right away shut down:

#include <mpi.h>
#include <iostream>
#include <cassert>

using namespace std;

int main(int argc, char** argv) {

        int provided = MPI_THREAD_FUNNELED;
        MPI_Init_thread ( &argc, &argv, MPI_THREAD_FUNNELED, &provided );

        assert (provided == MPI_THREAD_FUNNELED);


        return 0;

For the compilation, I did not specify anything special: mpicxx
example.cpp -o example
When launching, in order to test, I used a loop like the following:

for ((i=0;i<100;i++)); do echo $i "<--------- "; mpiexec -n 2 ./example; done

Now, the thing is that this usually does not go further than at most the
30th iteration. And, of course, I get this also by launching manually,
just that it takes more time to get there ;).

I would extremely appreciate if someone can give a hint on this. Is
there anything special that I should look for, is there a compilation
switch I should turn on, etc.? I get the same behavior on bi-cores,
4x-cores, different environments... I don't know if this helps but the
line I used for configuring the OpenMPI package is the following:

./configure --prefix=/opt/globus/openmpi/ --enable-mpi-cxx
--enable-shared --enable-smp-locks --enable-cxx-exceptions
--enable-mpi-threads --enable-progress-threads --enable-io-romio

Thanks in advance for your time and looking forward to your answer(s)!