00001
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef _H_M3_mpi
00035 #define _H_M3_mpi
00036
00037 #include "mpi.h"
00038 #ifdef MACH_MPI_FORCEBLOCK
00039 #define MPI_Bcast(a,b,c,d,comm) MPI_Bcast_blocking(a,b,c,d,comm)
00040 #define MPI_Gather(a,b,c,d,e,f,g,comm) MPI_Gather_blocking(a,b,c,d,e,f,g,comm)
00041 #define MPI_Gatherv(a,b,c,d,e,f,g,h,comm) MPI_Gatherv_blocking(a,b,c,d,e,f,g,h,comm)
00042 #define MPI_Scatter(a,b,c,d,e,f,g,comm) MPI_Scatter_blocking(a,b,c,d,e,f,g,comm)
00043 #define MPI_Scatterv(a,b,c,d,e,f,g,h,comm) MPI_Scatterv_blocking(a,b,c,d,e,f,g,h,comm)
00044 #define MPI_Allgather(a,b,c,d,e,f,comm) MPI_Allgather_blocking(a,b,c,d,e,f,comm)
00045 #define MPI_Allgatherv(a,b,c,d,e,f,g,comm) MPI_Allgatherv_blocking(a,b,c,d,e,f,g,comm)
00046 #define MPI_Alltoall(a,b,c,d,e,f,comm) MPI_Alltoall_blocking(a,b,c,d,e,f,comm)
00047 #define MPI_Alltoallv(a,b,c,d,e,f,g,h,comm) MPI_Alltoallv_blocking(a,b,c,d,e,f,g,h,comm)
00048 #define MPI_Reduce(a,b,c,d,e,f,comm) MPI_Reduce_blocking(a,b,c,d,e,f,comm)
00049 #define MPI_Allreduce(a,b,c,d,e,comm) MPI_Allreduce_blocking(a,b,c,d,e,comm)
00050 #define MPI_Reduce_scatter(a,b,c,d,e,comm) MPI_Reduce_scatter_blocking(a,b,c,d,e,comm)
00051 #endif
00052 #include "M3.h"
00053
00054
00055
00056
00057 void M3_RunConfigStruct_ReadMPI(
00058 M3_RunConfigStruct **runConfig,
00059 char *runConfigFileName,
00060 int runType,
00061 MPI_Comm theComm );
00062
00063 void M3_RunConfigStruct_ReadBinMPI(
00064 M3_RunConfigStruct **runConfigOut,
00065 char *runConfigFileName,
00066 int runType,
00067 MPI_Comm theComm );
00068
00069 void M3_RunConfigStruct_Bcast(
00070 M3_RunConfigStruct **runConfig,
00071 int root,
00072 MPI_Comm theComm );
00073
00074 void M3_File_ReadHeaderMPI(
00075 M3_File *theFile,
00076 void *header,
00077 MPI_Comm theComm );
00078
00079 void M3_File_ReadDataMPI(
00080 M3_File *theFile,
00081 void *readArg,
00082 void *data,
00083 MPI_Comm theComm );
00084
00085
00086 #endif