[MacPorts] #39826: openmpi does not produce working Fortran MPI2 program
MacPorts
noreply at macports.org
Sun Jul 21 19:14:00 PDT 2013
#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
More information about the macports-tickets
mailing list