Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] MPI_Allreduce with F90 Handles
From: Shane Hart (shart6_at_[hidden])
Date: 2012-11-30 14:04:01


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'
2012 10:35:57 AM users-request_at_[hidden] 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