1
1

- Add the missing parts: add MPI_REAL2 to the end of the list

of Fortran datatypes (mpif-common.h) and the list of registered
   datatypes: MOOG(REAL2).
   Configure and Compilation with ia32/gcc just finished, naturally
   without real2.

This commit was SVN r15137.
Этот коммит содержится в:
Rainer Keller 2007-06-19 20:41:28 +00:00
родитель 4b38d651a6
Коммит 8d24934a80
3 изменённых файлов: 27 добавлений и 3 удалений

4
NEWS
Просмотреть файл

@ -38,6 +38,10 @@ Trunk (not on release branches yet)
- Fix a problem with MPI_BOTTOM in various places of the f77-interface.
Thanks to Daniel Spangberg for bringing this up.
--> Expected 1.2.x
- Add the optional datatype MPI_REAL2. As this is added to the "end of"
predefined datatypes in the fortran header files, there will not be
any compatibility issues.
--> Expected 1.3
- Fix several problems with redirecting large files into mpirun's
stdin.
--> Expected 1.2.x

Просмотреть файл

@ -171,6 +171,11 @@ OMPI_DECLSPEC ompi_datatype_t ompi_mpi_2cplex = INIT_BASIC_TYPE( DT_2COMPLEX, 2C
OMPI_DECLSPEC ompi_datatype_t ompi_mpi_2dblcplex = INIT_BASIC_TYPE( DT_2DOUBLE_COMPLEX, 2DOUBLE_COMPLEX );
OMPI_DECLSPEC ompi_datatype_t ompi_mpi_unavailable = INIT_UNAVAILABLE_DATA( UNAVAILABLE );
#if OMPI_HAVE_FORTRAN_REAL2
OMPI_DECLSPEC ompi_datatype_t ompi_mpi_real2 = INIT_BASIC_FORTRAN_TYPE( DT_FLOAT, REAL2, OMPI_SIZEOF_FORTRAN_REAL2, OMPI_ALIGNMENT_FORTRAN_REAL2, DT_FLAG_DATA_FLOAT );
#else
OMPI_DECLSPEC ompi_datatype_t ompi_mpi_real2 = INIT_UNAVAILABLE_DATA( REAL2 );
#endif
#if OMPI_HAVE_FORTRAN_REAL4
OMPI_DECLSPEC ompi_datatype_t ompi_mpi_real4 = INIT_BASIC_FORTRAN_TYPE( DT_FLOAT, REAL4, OMPI_SIZEOF_FORTRAN_REAL4, OMPI_ALIGNMENT_FORTRAN_REAL4, DT_FLAG_DATA_FLOAT );
#else
@ -492,6 +497,16 @@ int32_t ompi_ddt_init( void )
/* Optional Fortran REAL types */
#if OMPI_HAVE_FORTRAN_REAL2
#if (OMPI_SIZEOF_FORTRAN_REAL2 == SIZEOF_FLOAT)
DECLARE_MPI_SYNONYM_DDT( &ompi_mpi_real2, "MPI_REAL2", &ompi_mpi_float );
#else
# warning "No proper C type found for REAL2"
DECLARE_MPI_SYNONYM_DDT( &ompi_mpi_real2, "MPI_REAL2", &ompi_mpi_unavailable );
#endif
ompi_mpi_real2.flags |= DT_FLAG_DATA_FORTRAN | DT_FLAG_DATA_FLOAT;
#endif /* OMPI_HAVE_FORTRAN_REAL2 */
#if OMPI_HAVE_FORTRAN_REAL4
#if (OMPI_SIZEOF_FORTRAN_REAL4 == SIZEOF_FLOAT)
DECLARE_MPI_SYNONYM_DDT( &ompi_mpi_real4, "MPI_REAL4", &ompi_mpi_float );
@ -672,6 +687,7 @@ int32_t ompi_ddt_init( void )
MOOG(2integer);
MOOG(2cplex);
MOOG(2dblcplex);
MOOG(real2);
/* Now the C types */

Просмотреть файл

@ -6,7 +6,7 @@
! Copyright (c) 2004-2005 The University of Tennessee and The University
! of Tennessee Research Foundation. All rights
! reserved.
! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
! Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
! University of Stuttgart. All rights reserved.
! Copyright (c) 2004-2005 The Regents of the University of California.
! All rights reserved.
@ -429,13 +429,16 @@
integer MPI_CHARACTER, MPI_LOGICAL
integer MPI_INTEGER, MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4
integer MPI_INTEGER8, MPI_INTEGER16
integer MPI_REAL, MPI_REAL4, MPI_REAL8, MPI_REAL16
integer MPI_REAL, MPI_REAL2, MPI_REAL4, MPI_REAL8, MPI_REAL16
integer MPI_DOUBLE_PRECISION
integer MPI_COMPLEX, MPI_COMPLEX8, MPI_COMPLEX16, MPI_COMPLEX32
integer MPI_DOUBLE_COMPLEX
integer MPI_2REAL, MPI_2DOUBLE_PRECISION, MPI_2INTEGER
integer MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX
!
! Do NOT change the order of these parameters
!
parameter (MPI_BYTE=1)
parameter (MPI_PACKED=2)
parameter (MPI_UB=3)
@ -463,6 +466,7 @@
parameter (MPI_2INTEGER=25)
parameter (MPI_2COMPLEX=26)
parameter (MPI_2DOUBLE_COMPLEX=27)
parameter (MPI_REAL2=28)
integer MPI_MAX, MPI_MIN, MPI_SUM, MPI_PROD, MPI_LAND
integer MPI_BAND, MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR