I can confirm that --enable-event-thread-support --enable-opal-multi-threads --enable-orte-progress-threads --enable-mpi-thread-multiple
worked for me as well under OSX 10.8.4 with clang. The orte-progress flag is needed, without it the parallel process hangs. I will report this to the MacPorts people so they can fix it. Best, Hans On 19. juni 2013, at 15.08, Ralph Castain wrote: > While I'm glad it worked, having it depend on orte progress thread wasn't > done by intent, hence the comment in the configure help output. I'm not > seeing any problems with using that option, but please let us know if you run > into something. It hasn't been as fully tested as we'd like. > > > On Jun 19, 2013, at 12:10 AM, Elias Rudberg <elias.rudb...@it.uu.se> wrote: > >> This has now been solved. >> >> The solution (as suggested by Ralph) is to use the following four configure >> options together: >> ./configure --enable_event_thread_support --enable_opal_multi_threads >> --enable_orte_progress_threads --enable_mpi_thread_multiple >> >> So, apparently the --enable_mpi_thread_multiple option cannot be used by >> itself, it must be combined with the other three options, otherwise >> MPI_Init_thread will hang. >> >> / Elias >> >> >> Quoting Elias Rudberg <elias.rudb...@it.uu.se>: >> >>> Hi, >>> >>> I now tried using --enable-opal-multi-threads (I added an "s" in the end, >>> since "--enable-opal-multi-thread" was not recognized by the configure >>> script). >>> >>> However, my test code still hangs in the same way as before. >>> >>> To be clear, I now configure like this: >>> ./configure --enable-mpi-thread-multiple --enable-opal-multi-threads >>> >>> but the problem remains: MPI_Init_thread still hangs when trying to run the >>> test case with -np 2. >>> >>> Any other ideas? >>> Are there other configure options that must be used together with >>> --enable-mpi-thread-multiple to make it work? >>> >>> Best regards, >>> Elias >>> >>> >>> Quoting Ralph Castain <r...@open-mpi.org>: >>> >>>> Hmmm...well, your code runs fine for me: >>>> >>>> Ralphs-iMac:mpi rhc$ mpirun -n 2 ./thread_init >>>> Calling MPI_Init_thread... >>>> Calling MPI_Init_thread... >>>> MPI_Init_thread returned, provided = 3 >>>> MPI_Init_thread returned, provided = 3 >>>> Ralphs-iMac:mpi rhc$ >>>> >>>> I think the key, however, is that you also have to configure with >>>> --enable-opal-multi-thread. >>>> >>>> >>>> On Jun 16, 2013, at 8:54 AM, Elias Rudberg <elias.rudb...@it.uu.se> wrote: >>>> >>>>> Hello! >>>>> >>>>> I would like to report what seems to be a bug in MPI_Init_thread in >>>>> OpenMPI 1.7.1. >>>>> >>>>> The bug can be reproduced with the following test program >>>>> (test_mpi_thread_support.c): >>>>> =========================================== >>>>> #include <mpi.h> >>>>> #include <stdio.h> >>>>> int main(int argc, const char* argv[]) { >>>>> int provided = -1; >>>>> printf("Calling MPI_Init_thread...\n"); >>>>> MPI_Init_thread(NULL, NULL, MPI_THREAD_MULTIPLE, &provided); >>>>> printf("MPI_Init_thread returned, provided = %d\n", provided); >>>>> MPI_Finalize(); >>>>> return 0; >>>>> } >>>>> =========================================== >>>>> >>>>> When trying to run this when OpenMPI was configured with >>>>> --enable-mpi-thread-multiple, the program hangs when trying to run using >>>>> anything more than one process. >>>>> >>>>> Steps I use to reproduce this in Ubuntu: >>>>> >>>>> (1) Download openmpi-1.7.1.tar.gz >>>>> >>>>> (2) Configure like this: >>>>> ./configure --enable-mpi-thread-multiple >>>>> >>>>> (3) make >>>>> >>>>> (4) Compile test program like this: >>>>> mpicc test_mpi_thread_support.c >>>>> >>>>> (5) Run like this: >>>>> mpirun -np 2 ./a.out >>>>> Then you see the following two lines of output: >>>>> Calling MPI_Init_thread... >>>>> Calling MPI_Init_thread... >>>>> And then it hangs. >>>>> >>>>> MPI_Init_thread did not hang in earlier OpenMPI versions (for example it >>>>> worked in 1.5.* and 1.6.*), so it seems like a bug introduced in 1.7. >>>>> >>>>> The description above shows how I reproduce this in Ubuntu on my local >>>>> desktop computer, but the same problem exists for the OpenMPI 1.7.1 >>>>> installation at the UPPMAX computer center where I wan to run my code in >>>>> the end. I don't know all details about how they installed it there, but >>>>> I know they set --enable-mpi-thread-multiple. So maybe it hangs in 1.7.1 >>>>> on any computer as long as you use MPI_THREAD_MULTIPLE. At least I have >>>>> not seen it work anywhere. >>>>> >>>>> Do you agree that this is a bug, or am I doing something wrong? >>>>> >>>>> Best regards, >>>>> Elias >>>>> >>>>> >>>>> _______________________________________________ >>>>> users mailing list >>>>> us...@open-mpi.org >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> >>>> >>>> _______________________________________________ >>>> users mailing list >>>> us...@open-mpi.org >>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> >>> >>> >>> >>> >> >> >> > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users -- Dr. Hans Ekkehard Plesser, Associate Professor Head, Basic Science Section Dept. of Mathematical Sciences and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway Phone +47 6496 5467 Fax +47 6496 5401 Email hans.ekkehard.ples...@umb.no Home http://arken.umb.no/~plesser