00001 #ifndef PLOGP_H_
00002 #define PLOGP_H_
00003
00004 #include "cpm_model.h"
00005 #include <stdio.h>
00006 #ifdef HAVE_CONFIG_H
00007 #include "MPIBlib/benchmarks/mpib_measurement.h"
00008 #else
00009 #include "mpib_measurement.h"
00010 #endif
00011
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049
00051 typedef struct PLogP_model {
00053 CPM_predictor predictor;
00055 CPM_predictor LogGP_predictor;
00057 int n;
00062 void** logp;
00063 } PLogP_model;
00064
00066 PLogP_model* PLogP_alloc(int n);
00067
00069 void PLogP_free(PLogP_model* model);
00070
00075 void PLogP_read(FILE* stream, PLogP_model** model);
00076
00081 void PLogP_write(FILE* stream, const PLogP_model* model);
00082
00091 void PLogP_estimate(MPI_Comm comm, MPIB_precision precision, MPIB_msgset msgset, int parallel,
00092 PLogP_model** model);
00093
00095 double PLogP_predict_p2p(void* _this, int i, int j, int M);
00096
00105 double LogGP_predict_p2p(void* _this, int i, int j, int M);
00106
00111 double PLogP_hpredict_sg_linear(void* _this, int M);
00112
00117 double LogGP_hpredict_sg_linear(void* _this, int M);
00118
00119 #ifdef __cplusplus
00120 }
00121 #endif
00122
00126 #endif