Hello Community,

I just finished building an OpenMPI version with custom configuration (1.4.4) on a server. I do not have root privileges on the server.

The server already had a "default" version on OpenMPI, which seemed to be single-threaded:

ompi_info | grep Thread yields  Thread support: posix (mpi: no, progress: no)

For my custom build, I have MPI thread support (precisely, support for MPI_THREAD_MULTIPLE):

/path/to/Custom/OpenMPI/bin/ompi_info | grep Thread yields Thread support: posix (mpi: yes, progress: no)


Thus, I run my application as:

/path/to/Custom/OpenMPI/bin/mpirun [options]...

In my application, I do make a check for whether I am getting MPI_THREAD_MULTIPLE support or not:

MPI_Init_thread(&argc, &argv, desired_thread_support,
      &provided_thread_support);/*Need provided_thread_support = desired_thread_support*/

  printf ("MPI: Requested thread support: %d, MPI thread support received: %d\n", MPI_THREAD_MULTIPLE, provided_thread_support);


When I run the application, I get:

MPI: Requested thread support: 3, MPI thread support received: 0


I have tried lot of things, and I am not sure why this is the case.


At the beginning of the shell script which contains /path/to/Custom/OpenMPI/bin/mpirun [options]..., I set the paths, and LD_LIBRARY_PATH:

PATH=/home/raid/private/Customizations_NODELETE/OpenMPI-1.4.4/bin:$PATH
export LD_LIBRARY_PATH=/home/raid/private/Customizations_NODELETE/gcc-4.6/lib64:/home/Morpheus/.CustomInstalledPrograms/OpenMPI-1.4.4/lib:/home/raid/private/Customizations_NODELETE/gcc-4.6/lib32

So, I think that the correct version of mpirun is being used.

Can someone tell me why I cannot get MPI_THREAD_MULTIPLE support?

I have the same OpenMPI version on my notebook, which does provide me with MPI_THREAD_MULTIPLE.

Thanks a lot.

Best,

Devendra