Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: s/ENABLE_MPI_THREADS/ENABLE_THREAD_SAFETY/g
From: Ralph Castain (rhc_at_[hidden])
Date: 2010-02-09 04:34:11


On Feb 9, 2010, at 1:44 AM, Sylvain Jeaugey wrote:

> While we're at it, why not call the option giving MPI_THREAD_MULTIPLE support --enable-thread-multiple ?

Makes sense to me. I agree with Brian that we need three options here.

>
> About ORTE and OPAL, if you have --enable-thread-multiple=yes, it may force the usage of --enable-thread-safety to configure OPAL and/or ORTE.

It definitely will, but I don't see that as an issue.

>
> I know there are other projects using ORTE and OPAL, but the vast majority of users are still using OMPI and were already confused by --enable-mpi-threads. Switching to --enable-multi-threads or --enable-thread-safety will surely confuse them one more time.
>

Just to clarify: this actually isn't about other projects. Jeff misspoke, IMO. The problem is in OMPI as it may be necessary/advantageous for ORTE to have threads for proper mpirun and orted operation even though application processes don't use them.

Ralph

> Sylvain
>
> On Mon, 8 Feb 2010, Barrett, Brian W wrote:
>
>> Well, does --disable-multi-threads disable progress threads? And do you want to disable thread support in ORTE because you don't want MPI_THREAD_MULTIPLE? Perhaps a third option is a rational way to go?
>>
>> Brain
>>
>> On Feb 8, 2010, at 6:54 PM, Jeff Squyres wrote:
>>
>>> How about
>>>
>>> --enable-mpi-threads ==> --enable-multi-threads
>>> ENABLE_MPI_THREADS ==> ENABLE_MULTI_THREADS
>>>
>>> Essentially, s/mpi/multi/ig. This gives us "progress thread" support and "multi thread" support. Similar, but different.
>>>
>>> Another possibility instead of "mpi" could be "concurrent".
>>>
>>>
>>>
>>> On Jan 28, 2010, at 9:24 PM, Barrett, Brian W wrote:
>>>
>>>> Jeff -
>>>>
>>>> I think the idea is ok, but I think the name needs some thought. There's currently two ways to have the lower layers be thread safe -- enabling MPI threads or progress threads. The two can be done independently -- you can disable MPI threads and still enable thread support by enabling progress threads.
>>>>
>>>> So either that behavior would need to change or we need a better name (in my opinion...).
>>>>
>>>> Brian
>>>>
>>>> On Jan 28, 2010, at 8:53 PM, Jeff Squyres wrote:
>>>>
>>>>> WHAT: Rename --enable-mpi-threads and ENABLE_MPI_THREADS to --enable-thread-safety and ENABLE_THREAD_SAFETY, respectively (--enable-mpi-threads will be maintained as a synonym to --enable-thread-safety for backwards compat, of course).
>>>>>
>>>>> WHY: Other projects are starting to use ORTE and OPAL without OMPI. The fact that thread safety in OPAL and ORTE requires a configure switch with "mpi" in the name is very non-intuitive.
>>>>>
>>>>> WHERE: A bunch of places in the code; see attached patch.
>>>>>
>>>>> WHEN: Next Friday COB
>>>>>
>>>>> TIMEOUT: COB, Friday, Feb 5, 2010
>>>>>
>>>>> ------------------------
>>>>>
>>>>> More details:
>>>>>
>>>>> Cisco is starting to investigate using ORTE and OPAL in various threading scenarios -- without the OMPI layer. The fact that you need to enable thread safety in ORTE/OPAL with a configure switch that has the word "mpi" in it is extremely counter-intuitive (it bit some of our engineers very badly, and they were mighty annoyed!!).
>>>>>
>>>>> Since this functionality actually has nothing to do with MPI (it's actually the other way around -- MPI_THREAD_MULTIPLE needs this functionality), we really should rename this switch and the corresponding AC_DEFINE -- I suggest:
>>>>>
>>>>> --enable|disable-thread-safety
>>>>> ENABLE_THREAD_SAFETY
>>>>>
>>>>> Of course, we need to keep the configure switch "--enable|disable-mpi-threads" for backwards compatibility, so that can be a synonym to --enable-thread-safety.
>>>>>
>>>>> See the attached patch (the biggest change is in opal/config/opal_config_threads.m4). If there are no objections, I'll commit this next Friday COB.
>>>>>
>>>>> --
>>>>> Jeff Squyres
>>>>> jsquyres_at_[hidden]
>>>>> <opal-thread-safety.diff>_______________________________________________
>>>>> devel mailing list
>>>>> devel_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>>
>>>> --
>>>> Brian W. Barrett
>>>> Dept. 1423: Scalable System Software
>>>> Sandia National Laboratories
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>>
>>>
>>>
>>> --
>>> Jeff Squyres
>>> jsquyres_at_[hidden]
>>>
>>> For corporate legal information go to:
>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>>
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>
>>
>> --
>> Brian W. Barrett
>> Dept. 1423: Scalable System Software
>> Sandia National Laboratories
>>
>>
>>
>>
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel