1 #include "paircalc/ckPairCalculator.h"
3 #ifndef PC_SECTION_MANAGER_H
4 #define PC_SECTION_MANAGER_H
25 void init(
const CkIndex2D orthoIdx,
const pc::pcConfig &pcCfg, CkArrayID pcAID, CkGroupID oMCastGID, CkGroupID oRedGID);
29 void setupArraySection(CkCallback cb,
bool arePhantomsOn,
bool useComlibForOrthoToPC);
31 void sendResults(
int n, internalType *ptr1, internalType *ptr2,
int orthoX,
int orthoY,
int actionType,
int priority);
33 void sendMatrix(
int n, internalType *ptr1, internalType *ptr2,
int orthoX,
int orthoY,
int actionType,
int priority);
92 pc.x = (pc.x>maxpcstateindex) ? maxpcstateindex :pc.x;
93 pc.y = (pc.y>maxpcstateindex) ? maxpcstateindex :pc.y;
101 #endif // PC_SECTION_MANAGER
For definition of CkDataMsg.
CkIndex2D computePCStateIndices()
Overloaded version that uses the stored ortho indices to compute the PC state indices.
Class that manages the paircalc sections that each Ortho chare communicates with. ...
CkArrayID pcArrayID
The array ID of the paircalc instance that I will manage comm with.
void pup(PUP::er &p)
PUP serializer.
int numStates
Number of states in this simulation.
void sendMatrix(int n, internalType *ptr1, internalType *ptr2, int orthoX, int orthoY, int actionType, int priority)
Used to send OrthoT to the asymm instance. Replaces sendMatrix()
CProxySection_PairCalculator pcSection
The section of the array that my owner ortho chare will be talking to.
void createPCsection(const int s1, const int s2)
Create a paircalc section containing all chares with the specified two state indices.
PCSectionManager()
Constructor.
CkGroupID orthomCastGrpID
The multicast and reduction groups that handle comm.
int numChunks
The number of chunks (4th dimension decomposition) of paircalcs.
void sendResults(int n, internalType *ptr1, internalType *ptr2, int orthoX, int orthoY, int actionType, int priority)
Sends out the results to the paircalc section. Replaces finishPairCalcSection()
int pcGrainSize
The statewise decomposition grain size for the paircalcs.
int orthoGrainSize
The statewise decomposition grain size for the ortho chares.
Dumb structure that holds all the configuration inputs required for paircalc instantiation, functioning and interaction.
bool isSymmetric
Is this paircalc array a symmetric or asymmetric instance.
int numPlanes
Number of planes that GSpace is decomposed into.
void init(const CkIndex2D orthoIdx, const pc::pcConfig &pcCfg, CkArrayID pcAID, CkGroupID oMCastGID, CkGroupID oRedGID)
An initializer method that fills this with data.
CkIndex2D orthoIndex
The index of the calling Ortho chare.
int msgPriority
The priority to use for messages to PC.
void setupArraySection(CkCallback cb, bool arePhantomsOn, bool useComlibForOrthoToPC)
Creates a paircalc array section given the necessary info. Replaces initOneRedSect() ...