Hi there, I installed MPICH2 3.0rc1 using GCC 4.7.2 and found a problem with MPI_Type_create_f90_real. It is very similar to the problem I reported in OpenMPI under: https://svn.open-mpi.org/trac/ompi/ticket/3432 Running the following program: program test_mpi use mpi implicit none integer, parameter :: rk_prec = 15 integer, parameter :: rk = selected_real_kind(rk_prec) integer :: rk_mpi integer :: iError real(kind=rk) :: a_real real(kind=rk) :: res call MPI_Init(iError) call mpi_type_create_f90_real(rk_prec, MPI_UNDEFINED, rk_mpi, iError) write(*,*) 'MPI_REAL8:', MPI_REAL8 write(*,*) 'MPI_DOUBLE_PRECISION:', MPI_DOUBLE_PRECISION write(*,*) 'type_create_f90_real:', rk_mpi a_real = 1.0 call MPI_Reduce(a_real, res, 1, rk_mpi, MPI_MIN, 0, MPI_COMM_WORLD, iError) call MPI_Finalize(iError) end program test_mpi Results in the following output and error: MPI_REAL8: 1275070505 MPI_DOUBLE_PRECISION: 1275070495 type_create_f90_real: -1946157049 Fatal error in PMPI_Reduce: Invalid MPI_Op, error stack: PMPI_Reduce(1217)........: MPI_Reduce(sbuf=0x7fff43637108, rbuf=0x7fff436370f8, count=1, dtype=USER<f90_real>, MPI_MIN, root=0, MPI_COMM_WORLD) failed MPIR_MINF_check_dtype(71): MPI_Op MPI_MIN operation not defined for this datatype Further the quadruple precision data type is not properly supported: MPI_Type_create_f90_real will complain about wrong exponent, regardless of its value, while MPI_REAL16 is available and the Reduction operation does not complain, it produces wrong results. Again there is a similar problem with OpenMPI, as reported under: https://svn.open-mpi.org/trac/ompi/ticket/3433 Thanks a lot, Harald Klimach