49979d59ad1870c80c86a5c494ccb88fe98e1a36
[charm.git] / src / ck-com / AAPLearner.h
1
2 #ifndef AAPLEARNER_H
3 #define AAPLEARNER_H
4
5 #include "comlib.h"
6 #include "ComlibManager.h"
7 #include "ComlibLearner.h"
8
9 #define ALPHA 1e-5
10 #define BETA  7.8e-9
11
12 #define min(x,y) ((x < y) ? x : y)
13
14 inline double min4(double x, double y, double a, double b) {
15     double x1 = min(x,y);
16     double a1 = min(a,b);
17     
18     return min(x1,a1);
19
20
21 class AAPLearner : public ComlibLearner {
22     double alpha, beta;
23
24     double computeDirect(double P, double m, double d);
25     double computeMesh(double P, double m, double d);
26     double computeHypercube(double P, double m, double d);
27     double computeGrid(double P, double m, double d);
28
29  public:
30     AAPLearner();    
31
32     void init();
33     Strategy* optimizePattern(Strategy* , ComlibGlobalStats &);
34     
35     Strategy ** optimizePattern(Strategy** , ComlibGlobalStats &) {
36         CkAbort("Not implemented\n");
37         return NULL;
38     }
39 };
40
41
42 #endif