NAMD
ProcessorPrivate.C
Go to the documentation of this file.
1 
7 #include "ProcessorPrivate.h"
8 #include "Debug.h"
9 #include "InfoStream.h"
10 
11 /*
12  * Variable Definitions
13  */
14 
15 // Instance Variables that maintain singletonness of classes
16 
17 CkpvDeclare(AtomMap*, AtomMap_instance);
18 CkpvDeclare(BroadcastMgr*, BroadcastMgr_instance);
19 CkpvDeclare(CollectionMaster*, CollectionMaster_instance);
20 CkpvDeclare(CollectionMgr*, CollectionMgr_instance);
21 CkpvDeclare(LdbCoordinator*, LdbCoordinator_instance);
22 CkpvDeclare(Node*, Node_instance);
23 CkpvDeclare(PatchMap*, PatchMap_instance);
24 CkpvDeclare(PatchMgr*, PatchMgr_instance);
25 CkpvDeclare(ProxyMgr*, ProxyMgr_instance);
26 CkpvDeclare(ReductionMgr*, ReductionMgr_instance);
27 
28 #if defined(NAMD_CUDA) || defined(NAMD_HIP)
29 CkpvDeclare(SequencerCUDA*, SequencerCUDA_instance);
30 #endif
31 
32 #ifdef PROCTRACE_DEBUG
33 CkpvDeclare(DebugFileTrace*, DebugFileTrace_instance);
34 #endif
35 
36 #ifdef NODEGROUP_FORCE_REGISTER
37 CkpvDeclare(ComputeGlobalResultsMsg*, ComputeGlobalResultsMsg_instance);
38 #endif
39 
40 // Other static variables
41 
42 CkpvDeclare(PatchMgr*, PatchMap_patchMgr);
43 CkpvDeclare(BOCgroup, BOCclass_group);
44 CkpvDeclare(Communicate*, comm);
45 CkpvDeclare(Sync*, Sync_instance);
46 CkpvDeclare(infostream, iout_obj);
47 
48 //handlers for replica communication
49 CkpvDeclare(int, recv_data_idx);
50 CkpvDeclare(int, recv_ack_idx);
51 CkpvDeclare(int, recv_bcast_idx);
52 CkpvDeclare(int, recv_red_idx);
53 CkpvDeclare(int, recv_eval_command_idx);
54 CkpvDeclare(int, recv_eval_result_idx);
55 CkpvDeclare(int, recv_replica_dcd_init_idx);
56 CkpvDeclare(int, recv_replica_dcd_data_idx);
57 CkpvDeclare(int, recv_replica_dcd_ack_idx);
58 
60 
61 /*
62  * Initialization Function to be called on every processor
63  */
64 
66 {
67  CkpvInitialize(AtomMap*, AtomMap_instance);
68  CkpvAccess(AtomMap_instance) = 0;
69  CkpvInitialize(BroadcastMgr*, BroadcastMgr_instance);
70  CkpvAccess(BroadcastMgr_instance) = 0;
71  CkpvInitialize(CollectionMaster*, CollectionMaster_instance);
72  CkpvAccess(CollectionMaster_instance) = 0;
73  CkpvInitialize(CollectionMgr*, CollectionMgr_instance);
74  CkpvAccess(CollectionMgr_instance) = 0;
75  CkpvInitialize(LdbCoordinator*, LdbCoordinator_instance);
76  CkpvAccess(LdbCoordinator_instance) = 0;
77  CkpvInitialize(Node*, Node_instance);
78  CkpvAccess(Node_instance) = 0;
79 
80  CkpvInitialize(PatchMap*, PatchMap_instance);
81  CkpvAccess(PatchMap_instance) = 0;
82  CkpvInitialize(PatchMgr*, PatchMgr_instance);
83  CkpvAccess(PatchMgr_instance) = 0;
84  CkpvInitialize(ProxyMgr*, ProxyMgr_instance);
85  CkpvAccess(ProxyMgr_instance) = 0;
86  CkpvInitialize(ReductionMgr*, ReductionMgr_instance);
87  CkpvAccess(ReductionMgr_instance) = 0;
88  CkpvInitialize(PatchMgr*, PatchMap_patchMgr);
89  CkpvAccess(PatchMap_patchMgr) = 0;
90  CkpvInitialize(BOCgroup, BOCclass_group);
91  CkpvAccess(BOCclass_group).dataExchanger.setZero();
92  CkpvInitialize(Communicate*, comm);
93  CkpvAccess(comm) = 0;
94  CkpvInitialize(Sync*, Sync_instance);
95  CkpvAccess(Sync_instance) = 0;
96  CkpvInitialize(infostream, iout_obj);
97 
99 
100 #if defined(NAMD_CUDA) || defined(NAMD_HIP)
101  CkpvInitialize(SequencerCUDA*, SequencerCUDA_instance);
102  CkpvAccess(SequencerCUDA_instance) = 0;
103 #endif
104 
105 #ifdef PROCTRACE_DEBUG
106  CkpvInitialize(DebugFileTrace*, DebugFileTrace_instance);
107  CkpvAccess(DebugFileTrace_instance) = 0;
108 #endif
109 
110 #ifdef NODEGROUP_FORCE_REGISTER
111  CkpvInitialize(ComputeGlobalResultsMsg*, ComputeGlobalResultsMsg_instance);
112  CkpvAccess(ComputeGlobalResultsMsg_instance) = nullptr;
113 #endif
114 
115 }
Definition: Node.h:78
Definition: Sync.h:24
void ProcessorPrivateInit(void)
CkpvDeclare(AtomMap *, AtomMap_instance)
void initializeReplicaConverseHandlers()