00001 #ifndef MPIB_P2P_BENCHMARK_H_
00002 #define MPIB_P2P_BENCHMARK_H_
00003
00004 #include "mpib_measurement.h"
00005 #include "mpib_defs.h"
00006
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00029 void MPIB_measure_p2p(MPIB_Send send, MPIB_Recv recv, MPI_Comm comm, int measure, int mirror,
00030 int M, MPIB_precision precision, MPIB_result* result);
00031
00046 void MPIB_measure_p2p_msgset(MPIB_Send send, MPIB_Recv recv, MPI_Comm comm, int measure, int mirror,
00047 MPIB_msgset msgset, MPIB_precision precision, int* count, MPIB_result** results);
00048
00061 void MPIB_measure_p2p_parallel_msgset(MPIB_Send send, MPIB_Recv recv, MPI_Comm comm,
00062 MPIB_msgset msgset, MPIB_precision precision, int* count, MPIB_result** results);
00063
00065 #define MPIB_C2(n) (n) * ((n) - 1) / 2
00066
00072 #define MPIB_IJ2INDEX(n, i, j) (2 * (n) - ((i) < (j) ? (i) : (j)) - 1) * (((i) < (j) ? (i) : (j))) / 2 + (((i) < (j) ? (j) : (i))) - (((i) < (j) ? (i) : (j))) - 1
00073
00085 void MPIB_measure_allp2p(MPIB_Send send, MPIB_Recv recv, MPI_Comm comm, int parallel,
00086 int M, MPIB_precision precision, MPIB_result* results);
00087
00088 #ifdef __cplusplus
00089 }
00090 #endif
00091
00095 #endif