f1641cdda6e7b4466f4e08597b9720059e666a09
[charm.git] / example / hello.h
1 #ifndef _HELLO_H
2 #define _HELLO_H
3
4 #include "charm++.h"
5 #include "NodeHelper.h"
6 #include "hello.decl.h"
7 #include <assert.h>
8 //#include "queueing.h"
9 #include <converse.h>
10
11 class Main : public Chare{
12 private:
13     int nodesFinished ;
14     int totalElems;
15         double wps;
16         double calTime; 
17         int calibrated;
18         int time[4];
19         int chunck[4];
20         
21 public:
22          Main(CkArgMsg* m) ;
23         void done(void);
24         void doTests(CkQdMsg *msg);
25         void processCommandLine(int argc,char ** argv);
26
27 };
28 class TestInstance : public CBase_TestInstance {
29         double wps;
30         int result;
31         int flag;
32         int helpers;
33         double timerec;
34         double * allTimes;
35 public:
36     TestInstance();
37     ~TestInstance() {}
38     TestInstance(CkMigrateMessage *m) {}
39     void doTest(int flag,int wps,int chunck, int time);
40 };
41
42 class cyclicMap : public CkArrayMap{
43 public:
44   int procNum(int, const CkArrayIndex &idx){
45     int index = *(int *)idx.data();
46     int nid = (index/CkMyNodeSize())%CkNumNodes();
47     int rid = index%CkMyNodeSize();
48     return CkNodeFirst(nid)+rid;
49   }
50 };
51
52 #endif