[MacPorts] #39826: openmpi does not produce working Fortran MPI2 program
#39826: openmpi does not produce working Fortran MPI2 program ------------------------+-------------------------------- Reporter: dstrubbe@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Keywords: | Port: openmpi ------------------------+-------------------------------- MPI2 support in the openmpi port does not seem to be working. I show below a simple test case using MPI_IN_PLACE for MPI_Allreduce, which fails for all numbers of processors I tried (1, 2, 3, 4; including running it without openmpiexec), and for various installations of openmpi which I tried ( 1.6.2_0+gcc45, 1.7.1_0+g95, and openmpi @1.7.1_0+gcc47). But it does work fine with mpich. I also obtained correct output for OpenMPI 1.4 on a Linux machine with Intel or GNU compilers. Incorrect: {{{ $ openmpif90 test.f90 $ openmpirun -n 3 ./a.out before, node 0 : 1 before, node 1 : 1 before, node 2 : 1 after, node 0 : 0 after, node 1 : 0 after, node 2 : 0 }}} Correct, with mpich @3.0.4_0+gcc47: {{{ $mpif90 test.f90 $ mpirun -n 3 ./a.out before, node 0 : 1 before, node 1 : 1 before, node 2 : 1 after, node 0 : 3 after, node 1 : 3 after, node 2 : 3 }}} {{{ program test use mpi integer :: mpierr integer, parameter :: SIZE = 1 integer :: data(SIZE) call MPI_Init(mpierr) call MPI_Comm_rank(MPI_COMM_WORLD, inode, mpierr) data(1:SIZE) = 1 write(6,*) 'before, node ', inode, ':', data call MPI_Allreduce(MPI_IN_PLACE, data, SIZE, MPI_INTEGER, MPI_SUM, MPI_COMM_WORLD, mpierr) write(6,*) 'after, node ', inode, ':', data call MPI_Finalize(mpierr) end program test }}} -- Ticket URL: <https://trac.macports.org/ticket/39826> MacPorts <http://www.macports.org/> Ports system for OS X
#39826: openmpi does not produce working Fortran MPI2 program -------------------------+------------------- Reporter: dstrubbe@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | -------------------------+------------------- Changes (by larryv@…): * cc: mww@… (removed) * owner: macports-tickets@… => mww@… -- Ticket URL: <https://trac.macports.org/ticket/39826#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#39826: openmpi does not produce working Fortran MPI2 program -------------------------+------------------- Reporter: dstrubbe@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | -------------------------+------------------- Comment (by dstrubbe@…): This seems to be a MacOS-specific issue. I found a thread and ticket about it at http://www.open-mpi.org/community/lists/users/2011/11/17862.php and http://www.open-mpi.org/community/lists/users/2013/01/21077.php. The fix mentioned in the first (-Wl,-commons,use_dylibs) is present in the version of OpenMPI we are using, and is correctly added by the configure script on my machine. I tried manually adding the second fix ( -Wl,-flat_namespace) to my link-line with openmpif90 and it doesn't seem to make any difference unfortunately. -- Ticket URL: <https://trac.macports.org/ticket/39826#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#39826: openmpi does not produce working Fortran MPI2 program -------------------------+-------------------- Reporter: dstrubbe@… | Owner: mww@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: worksforme | Keywords: Port: openmpi | -------------------------+-------------------- Changes (by sean@…): * status: new => closed * resolution: => worksforme Comment: I just tested this and it seems work on my machine. Let me know if the issue still exists. -- Ticket URL: <https://trac.macports.org/ticket/39826#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#39826: openmpi does not produce working Fortran MPI2 program -------------------------+---------------------- Reporter: dstrubbe@… | Owner: mww@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | -------------------------+---------------------- Changes (by dstrubbe@…): * status: closed => reopened * resolution: worksforme => Comment: I am reopening. It still doesn't work for me, on 3 different machines I tested: * openmpi-default @1.7.4_0+gcc48 on OSX 10.8.5, XCode 5.1 * openmpi-default @1.7.4_0+gcc48 on OSX 10.9.2, XCode 5.1 * openmpi-default @1.7.4_0+gcc45 on OSX 10.6.8, XCode 3.2.6. -- Ticket URL: <https://trac.macports.org/ticket/39826#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#39826: openmpi does not produce working Fortran MPI2 program -------------------------+---------------------- Reporter: dstrubbe@… | Owner: mww@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | -------------------------+---------------------- Comment (by sean@…): Ok, I'm able to reproduce this but have no idea why the linker flags don't work. I've updated openmpi to 1.7.5 and have put in -Wl,-flat_namespace to fix #42667 but things still don't work. At this point, we probably need a dev from OpenMPI to help us because I'm stuck. -- Ticket URL: <https://trac.macports.org/ticket/39826#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#39826: openmpi does not produce working Fortran MPI2 program -------------------------+---------------------- Reporter: dstrubbe@… | Owner: mww@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | -------------------------+---------------------- Comment (by sean@…): Replying to [comment:6 sean@…]:
Ok, I'm able to reproduce this but have no idea why the linker flags don't work. I've updated openmpi to 1.7.5 and have put in -Wl,-flat_namespace to fix #42667 but things still don't work. At this point, we probably need a dev from OpenMPI to help us because I'm stuck.
Actually, I was able to fix this by rebuilding OpenMPI. I'll push this soon. -- Ticket URL: <https://trac.macports.org/ticket/39826#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#39826: openmpi does not produce working Fortran MPI2 program -------------------------+-------------------- Reporter: dstrubbe@… | Owner: mww@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: Port: openmpi | -------------------------+-------------------- Changes (by sean@…): * status: reopened => closed * resolution: => fixed Comment: Fixed in r118768. Thanks for the report! -- Ticket URL: <https://trac.macports.org/ticket/39826#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts