[mvapich-discuss] Request for MPI_UNSIGNED_LONG_LONG in MVAPICH-1

Adam Moody moody20 at llnl.gov
Thu Oct 5 19:35:59 EDT 2006


Hi all,
I'd like to get support added for MPI_UNSIGNED_LONG_LONG in MPI.  This 
type is considered optional in MPI-1, but it something our users expect.

This entails defining a new datatype in mpi.h and also adding the 
necessary code to provide native support in reduce and allreduce 
operations.  While doing this, it would be nice to keep binary 
compatibility with some other MPI implementations that have already done 
this.  The de-facto standard (Quadrics and IBM) has been to define 
MPI_UNSIGNED_LONG_LONG as ((MPI_Datatype)40) in mpi.h.  For example, a 
snippet from the Quadrics mpi.h is shown below:

#define MPI_FLOAT_INT         ((MPI_Datatype)17)
#define MPI_DOUBLE_INT        ((MPI_Datatype)18)
#define MPI_LONG_INT          ((MPI_Datatype)19)
#define MPI_SHORT_INT         ((MPI_Datatype)20)
#define MPI_2INT              ((MPI_Datatype)21)
#define MPI_LONG_DOUBLE_INT   ((MPI_Datatype)22)

/* Fortran types */
#define MPI_COMPLEX           ((MPI_Datatype)23)
#define MPI_DOUBLE_COMPLEX    ((MPI_Datatype)24)
#define MPI_LOGICAL           ((MPI_Datatype)25)
#define MPI_REAL              ((MPI_Datatype)26)
#define MPI_DOUBLE_PRECISION  ((MPI_Datatype)27)
#define MPI_INTEGER           ((MPI_Datatype)28)
#define MPI_2INTEGER          ((MPI_Datatype)29)
#define MPI_2COMPLEX          ((MPI_Datatype)30)
#define MPI_2DOUBLE_COMPLEX   ((MPI_Datatype)31)
#define MPI_2REAL             ((MPI_Datatype)32)
#define MPI_2DOUBLE_PRECISION ((MPI_Datatype)33)
#define MPI_CHARACTER         ((MPI_Datatype)1)

/* MPI2 addition */
#define MPI_UNSIGNED_LONG_LONG     ((MPI_Datatype)40)

Please let me know whether you're willing to do this.
Thanks,
-Adam


More information about the mvapich-discuss mailing list