[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