Research activities


MPIPP — MPI PreProcessor


MPIPP is a solution for automatically generating MPI derived data types from user supplied data types. To date, MPIPP can only work with the C language. However, it could easily be ported to other languages, such as Fortran. In order to identify the types of MPI data to be generated, the user must indicate the corresponding types in the program using the new MPI_Typeof operator made available at the places where the derived MPI data type is needed. This operator is used in the same way as the sizeof operator of the C language, except that this operator returns the MPI derived data type instead of the size of the type passed as a parameter. For example, to use the derived type MPI of the char type of the C language, simply write MPI_Typeof (char). It should be noted that MPIPP is not limited to simple basic types, but is able to take into account any type of complex C language data, including tables, structures, pointers, etc. exception of those including unions and / or generic pointers, the C language does not provide enough information to create the MPI derived data type.