Ralph - No. OPAL_HAVE_THREADS is set to 1 whenever there are either POSIX or Solaris threads, regardless of the setting of --enable-progress-threads or --enable-mpi-threads. OPAL_HAVE_THREAD_SUPPORT, however, is set to 1 whenever --enable-progress-threads *OR* --enable-mpi-threads is set. So, basically, I'm saying all the OPAL_THREAD_* macros switch behavior whenever --enable-progress-threads or --enable-mpi-threads are set.
Brian On Jan 28, 2010, at 9:55 PM, Ralph Castain wrote: > Yo Brian > > Are you saying that --enable-progress-threads automatically sets > OPAL_HAVE_THREADS? Because otherwise the OPAL_THREAD_[UN]LOCK macros define > to no-op, which is what is currently causing the problem. > >> From what I saw, the only way to get the macros to define as they should was >> to set --enable-mpi-threads, which is what caused the confusion. > > I don't have a strong opinion on the name, other than that it should be clear > as to what it does (which is not the current case). Just want to make sure I > understand your response. > > > On Jan 28, 2010, at 7: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 >>> jsquy...@cisco.com >>> <opal-thread-safety.diff>_______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> >> -- >> Brian W. Barrett >> Dept. 1423: Scalable System Software >> Sandia National Laboratories >> >> >> >> >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel > -- Brian W. Barrett Dept. 1423: Scalable System Software Sandia National Laboratories