Sync.h

Go to the documentation of this file.
00001 
00008 /*
00009    Master BOC.  coordinates startup, close down of each PE
00010    Also owns pointers to common objects needed by system                
00011    Many utility static methods are owned by Node.
00012 */
00013 
00014 #ifndef _SYNC_H
00015 #define _SYNC_H
00016 
00017 #include "charm++.h"
00018 
00019 #include "ProcessorPrivate.h"
00020 #include "Sync.decl.h"
00021 
00022 class Sync : public CBase_Sync
00023 {
00024 private:
00025     struct _clist {
00026     int pid;
00027     int step;
00028     Compute **cbegin;
00029     Compute **cend;
00030     int doneMigration;
00031     } *clist;
00032     const int INCREASE;
00033     int capacity;
00034 
00035     int useSync, useProxySync;
00036 
00037     int step;
00038     int counter;
00039     int cnum;
00040     int nPatcheReady;
00041     int numPatches;
00042 
00043     char homeReady;
00044 
00045     void releaseComputes();
00046     void triggerCompute();
00047 public:
00048     Sync(void);
00049     ~Sync(void);
00050     inline static Sync *Object() { return CkpvAccess(Sync_instance); }
00051     void openSync(); 
00052     int holdComputes(PatchID pid, Compute **cbegin, Compute **cend, int doneMigration, int seq);
00053     void PatchReady(void);
00054 };
00055 
00056 #endif

Generated on Fri Sep 22 01:17:15 2017 for NAMD by  doxygen 1.4.7