Description of problem: Any MPI application that uses OpenMP as well and initializes MPI using mpi_init_thread with required_mpi_thread_level set to MPI_THREAD_MULTIPLE will fail. Example: elpa library configured with --with-openmp. Version-Release number of selected component (if applicable): openmpi-1.8.1-1.fc21.x86_64 How reproducible: 100% Steps to Reproduce: 1. module load mpi/openmpi-x86_64 2. ompi_info |grep Thread Actual results: Thread support: posix (MPI_THREAD_MULTIPLE: no, OPAL support: yes, OMPI progress: no, ORTE progress: yes, Event lib: yes) Expected results: Thread support: posix (MPI_THREAD_MULTIPLE: yes, OPAL support: yes, OMPI progress: no, ORTE progress: yes, Event lib: yes) Additional information: Simply add --enable-mpi-thread-multiple to configure call.
Created attachment 904573 [details] patch to enable MPI_THREAD_MULTIPLE support Scratch build of openmpi with that option enabled fixes elpa self-tests for me: https://koji.fedoraproject.org/koji/taskinfo?taskID=7023103
Originally, we had this support enabled. We were then told by the upstream Open MPI developers that it probably wasn't the best to have it turned on in a production environment as it brought stability issues. So we turned it off. We never turned it back on after that, but I don't watch the upstream Open MPI mailing list to know if they have declared it ready for prime time usage.
It's still very much unstable - works in some situations, fails in others. I don't think we can enable it.
Any update on this topic? Did it change in openmpi-2.1?
This got resolved in https://bugzilla.redhat.com/show_bug.cgi?id=1369989.