Dear All,

I'm running a complex program with a number of MPI_REDUCE calls, every call 
uses MPI_IN_PLACE as the first parameter (the send buffer).

I'm currently testing this program on Mac 10.6 with macports installed.

Unfortunately all MPI_REDUCE calls with MPI_IN_PLACE, seem to fail. 

I've pinpointed the problem to the MPI_IN_PLACE parameter location, it seems to 
matter if it is the first or the second parameter to the MPI_REDUCE call.

This is specific for fortran, in C the sequence does not matter!

A simple program to test this:

PROGRAM MAIN
   implicit none
   include 'mpif.h'
   integer :: x(10)
   integer :: provided,ioerror
   call MPI_INIT(ioerror)
   x = 1

   print *, x
   call MPI_REDUCE(x, MPI_IN_PLACE,10, MPI_INTEGER, MPI_SUM, 0,MPI_COMM_WORLD,  
ioerror)
   print *, x
   call MPI_REDUCE(MPI_IN_PLACE, x,10, MPI_INTEGER, MPI_SUM, 0,MPI_COMM_WORLD,  
ioerror)
   print *, x

   call MPI_FINALIZE(ioerror)
END PROGRAM

I run this on one process (mpiexec ./a.out)

I'm running with openmpi version 1.5.4 (macports)

The openmpi is compiled with gfortran 4.4.6

Is this a bug in openmpi or is my understanding of MPI_REDUCE wrong?

Best regards,

Arjen

Reply via email to