If only one thread ever makes calls into MPI, you don't actually need
MPI_THREAD_MULTIPLE but only MPI_THREAD_FUNNELED. Open MPI will generally
support MPI_THREAD_FUNNELED out of the box (but on certain configurations,
mainly platforms without threads, will not), so if you request
MPI_THREAD_FUNNELED, it should be returned in provided.
> Thanks a lot guys for your help. I am also trying a design where I have
> one thread doing MPI and others doing some computation (non-MPI). If I
> have only MPI_THREAD_SINGLE enabled for OpenMPI, can I still implement
> this kind of a design or there would be issues with threads in OpenMPI.
> -Thanks and Regards,
> Quoting "Brian W. Barrett" <bbarrett_at_[hidden]>:
>> There are two ways you can find out if an Open MPI build has
>> MPI_THREAD_MULTIPLE support:
>> * On the command line: You can run "ompi_info | grep Thread". If you
>> mpi: no, the build doesn't support MPI_THREAD_MULTIPLE. If you see
>> yes, the build does support MPI_THREAD_MULTIPLE.
>> * At run-time. As mentioned below, if you request
>> MPI_THREAD_MULTIPLE and
>> provided is only MPI_THREAD_SINGLE, then Open MPI does not have
>> MPI_THREAD_MULTIPLE support.
>> Good luck,
>> > You are already there. the fact that MPI_Thread_init only provide
>> > MPI_THREAD_SINGLE shows that MPI_THREAD_MULTIPLE is NOT enabled in
>> > library binary that you're using. Although MPI_THREAD_MULTIPLE is
>> > implemented in the library source code, it is only lightly tested,
>> so it
>> > is
>> > not enabled by default.
>> > To enable MPI_THREAD_MULTIPLE, you need to recompile the library by
>> > including --enable-mpi-threads as one of the parameters when you
>> > ./configure as the first step of recompiling the library.
>> > On 5/27/07, smairal_at_[hidden] <smairal_at_[hidden]> wrote:
>> >> Hi,
>> >> I want to use threads with OpenMPI such that the threads
>> >> be able to call MPI functions. For this purpose, I am using
>> >> MPI_Init_thread with MPI_THREAD_MULTIPLE option. But this function
>> >> returns MPI_THREAD_SINGLE in the "provided" parameter indicating
>> >> MPI_THREAD_MULTIPLE is not configured. Somewhere it is mentioned
>> >> OpenMPI needs to be configured with --enable-mpi-threads inorder
>> to use
>> >> MPI_THREAD_MULTIPLE. If true, is it possible to know whether the
>> >> OpenMPI (1.1.2)which I have already configured, has the option
>> >> "--enable-mpi-threads" already configured or not? Also, how easy
>> >> difficult is it to configure --enable-mpi-threads option?
>> >> Please share some information on this.
>> >> -Thanks and Regards,
>> >> Sarang.
>> >> _______________________________________________
>> >> users mailing list
>> >> users_at_[hidden]
>> >> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> > _______________________________________________
>> > users mailing list
>> > users_at_[hidden]
>> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>> users mailing list