I've attached a small sample program that demonstrates the problem. You can toggle working/non-working behaviour by toggling commenting on line 27.

 

I've tried to open a bug report, but the system isn't letting me register for Trac:

 

Trac detected an internal error:

KeyError: 'recaptcha_challenge_field'

 

Shane

 

On Friday, November 30, 2012 10:35:57 AM users-request@open-mpi.org wrote:

All,

 

I have a Fortran code that works quite well with OpenMPI 1.4.3 where I create a handle using:

 

call MPI_TYPE_CREATE_F90_INTEGER(9, COMM_INT4, ierror)

 

and then do a reduction with:

 

call MPI_ALLREDUCE(send_buffer, buffer, count, COMM_INT4, MPI_SUM, communicator, ierror)

 

However, this fails with OpenMPI 1.6.3 stating:

 

An error occurred in MPI_Allreduce: the reduction operation MPI_SUM is not defined for non-intrinsic datatypes (attempted with datatype named "Dup MPI_INT")

 

The MPI standard states that MPI_SUM works with Fortran integers, and Fortran integers are defined in Section 5.9.2 as:

 

MPI_INTEGER, MPI_AINT, MPI_OFFSET,

*and handles returned from

MPI_TYPE_CREATE_F90_INTEGER*,

and if available: MPI_INTEGER1,

MPI_INTEGER2, MPI_INTEGER4,

MPI_INTEGER8, MPI_INTEGER16

 

(emphasis mine)

 

However the manual page on MPI_Reduce for OpenMPI only states that Fortran integers are:

 

Fortran integer: MPI_INTEGER

Does OpenMPI not support using MPI_SUM with Fortran integer handles? I'm hoping that it's just an oversight as it used to work...

 

System: Fedora 17

Compilers: GCC 4.7.2

OpenMPI's tested: 1.4.3 (works), 1.5.4 (doesn't work), 1.6.3 (doesn't work)

 

Thanks for any insight,

Shane