00001 #ifndef MPIB_MEASUREMENT_H_ 00002 #define MPIB_MEASUREMENT_H_ 00003 00004 #include <mpi.h> 00005 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif 00037 00039 void MPIB_Comm(MPI_Comm comm, MPI_Comm* newcomm); 00040 00042 typedef struct MPIB_result { 00044 int M; 00046 double T; 00048 double wtick; 00050 int reps; 00055 double ci; 00056 } 00057 MPIB_result; 00058 00066 typedef struct MPIB_msgset { 00068 int min_size; 00070 int max_size; 00072 int stride; 00078 double max_diff; 00083 int min_stride; 00088 int max_num; 00089 } 00090 MPIB_msgset; 00091 00096 double MPIB_diff(MPIB_result result, MPIB_result results[2]); 00097 00105 void MPIB_max_wtick(MPI_Comm comm, double* wtick); 00106 00118 double MPIB_ci(double cl, int reps, double* T); 00119 00132 typedef struct MPIB_precision { 00134 int min_reps; 00136 int max_reps; 00138 double cl; 00140 double eps; 00141 } 00142 MPIB_precision; 00143 00144 #ifdef __cplusplus 00145 } 00146 #endif 00147 00151 #endif /*MPIB_MEASUREMENT_H_*/