OpenAtom
Version1.5a
|
Dumb structure that holds all the configuration inputs required for paircalc instantiation, functioning and interaction. More...
#include <pcConfig.h>
Public Member Functions | |
void | pup (PUP::er &p) |
} | |
Public Attributes | |
bool | isDynamics |
Is this a minimization or dynamics run. More... | |
bool | isSymmetric |
Is this a symmetric or asymmetric paircalc instance. | |
bool | arePhantomsOn |
If this is a symmetric instance, should it use phantom chares to balance the BW path. More... | |
bool | useComplexMath |
Should the actual matrix multiplies be handled as real math or complex math. | |
int | numPlanes |
The total number of planes in the system. More... | |
int | numStates |
The total number of states in the system. | |
int | numChunks |
The number of chunks (4th dimension of decomposition) More... | |
int | grainSize |
The grain size along the states dimensions (plural) (number of states per PC chare) | |
int | orthoGrainSize |
The grain size along the states dimensions for Ortho chares. More... | |
int | instanceIndex |
The proxyOffset value of thisInstance of OpenAtom computations. | |
CkCallback | uponSetupCompletion |
Callback to trigger at the end of a paircalc array's init. | |
CkArrayID | gSpaceAID |
The array ID of the GSpace chare array this instance talks to. More... | |
int | gSpaceEP |
The entry point to which this instance should send results to. More... | |
int | PsiVEP |
The entry point to which this instance should send PsiV tolerance update results to. More... | |
int | conserveMemory |
The mem footprint vs performance setting for the paircalcs (tribool) More... | |
bool | isLBon |
Should the paircalcs worry about load balancing. More... | |
bool | isDoublePackOn |
Is double-packing on? | |
bool | isInputMulticast |
Will the input data be multicast to PC sections or sent directly (p2p) More... | |
int | inputSpanningTreeFactor |
The branching factor of the spanning trees that carry the input msgs. More... | |
int | inputMsgPriority |
The priority (set by GSpace) of the input messages. More... | |
bool | isOutputReduced |
Should the results from each PC chare be reduced or delivered individually to GSpace? More... | |
int | resultMsgPriority |
If shouldDelayBWsend, what priority should this instance use for the result msgs. More... | |
bool | areBWTilesCollected |
Should this instance collect result fragments and send them out together in the BW path? More... | |
bool | isBWstreaming |
Should this instance stream the result fragments in the BW path as they become ready? More... | |
bool | isBWbarriered |
Should we impose a hard barrier in the BW path to sync all PC chares? More... | |
bool | shouldDelayBWsend |
Should we tweak msg priority to delay msgs to GSpace carrying the results? More... | |
int | gemmSplitFWk |
{ BGL's painful NIC forces us to split long computations. More... | |
int | gemmSplitFWm |
int | gemmSplitBW |
Dumb structure that holds all the configuration inputs required for paircalc instantiation, functioning and interaction.
Almost all of these are invariant through the lifetime of the PC array. Notably, booleans used in if conditions scattered throughout the code are known at instantiation time. In the perfect future, values like message priorities and branching factors could change adaptively during the run. Perhaps, even the decomposition values (grain sizes etc.)
Definition at line 23 of file pcConfig.h.
bool cp::paircalc::pcConfig::areBWTilesCollected |
Should this instance collect result fragments and send them out together in the BW path?
Definition at line 97 of file pcConfig.h.
Referenced by PairCalculator::bwMultiplyHelper(), PairCalculator::multiplyResult(), paircalcstartup(), PairCalculator::PairCalculator(), pup(), and PairCalculator::pup().
bool cp::paircalc::pcConfig::arePhantomsOn |
If this is a symmetric instance, should it use phantom chares to balance the BW path.
Definition at line 32 of file pcConfig.h.
Referenced by PairCalculator::bwMultiplyHelper(), PairCalculator::bwSendHelper(), cp::paircalc::Builder::createMap(), cp::paircalc::Builder::createPairCalcs(), PairCalculator::enqueueBWsend(), PairCalculator::initGRed(), PairCalculator::multiplyForward(), PairCalculator::multiplyPsiV(), PairCalculator::multiplyResult(), paircalcstartup(), PairCalculator::PairCalculator(), and pup().
int cp::paircalc::pcConfig::conserveMemory |
The mem footprint vs performance setting for the paircalcs (tribool)
-1: dont conserve memory at all 0: default (balance mem usage with performance) +1: conserve memory aggresively and free up matrices when not in use
Definition at line 75 of file pcConfig.h.
Referenced by PairCalculator::cleanupAfterBWPath(), PairCalculator::multiplyResult(), paircalcstartup(), PairCalculator::PairCalculator(), pup(), and PairCalculator::pup().
int cp::paircalc::pcConfig::gemmSplitFWk |
{ BGL's painful NIC forces us to split long computations.
Configure GEMM splitting here
Definition at line 121 of file pcConfig.h.
Referenced by paircalcstartup(), PairCalculator::PairCalculator(), and pup().
CkArrayID cp::paircalc::pcConfig::gSpaceAID |
The array ID of the GSpace chare array this instance talks to.
Definition at line 61 of file pcConfig.h.
Referenced by PairCalculator::PairCalculator(), and pup().
int cp::paircalc::pcConfig::gSpaceEP |
The entry point to which this instance should send results to.
Definition at line 63 of file pcConfig.h.
Referenced by paircalcstartup(), PairCalculator::PairCalculator(), and pup().
int cp::paircalc::pcConfig::inputMsgPriority |
The priority (set by GSpace) of the input messages.
Originally, PairCalcID::priority
Definition at line 87 of file pcConfig.h.
Referenced by cp::ortho::PCSectionManager::init(), paircalcstartup(), pup(), cp::gspace::PCCommManager::sendLeftDataMcast(), and cp::gspace::PCCommManager::sendRightDataMcast().
int cp::paircalc::pcConfig::inputSpanningTreeFactor |
The branching factor of the spanning trees that carry the input msgs.
config.PCSpanFactor
Definition at line 85 of file pcConfig.h.
Referenced by cp::paircalc::Builder::build(), paircalcstartup(), and pup().
bool cp::paircalc::pcConfig::isBWbarriered |
Should we impose a hard barrier in the BW path to sync all PC chares?
Definition at line 101 of file pcConfig.h.
Referenced by PairCalculator::multiplyResult(), paircalcstartup(), and pup().
bool cp::paircalc::pcConfig::isBWstreaming |
Should this instance stream the result fragments in the BW path as they become ready?
Definition at line 99 of file pcConfig.h.
Referenced by PairCalculator::cleanupAfterBWPath(), PairCalculator::multiplyResult(), paircalcstartup(), PairCalculator::PairCalculator(), pup(), and PairCalculator::pup().
bool cp::paircalc::pcConfig::isDynamics |
Is this a minimization or dynamics run.
Definition at line 28 of file pcConfig.h.
Referenced by paircalcstartup(), PairCalculator::PairCalculator(), and pup().
bool cp::paircalc::pcConfig::isInputMulticast |
Will the input data be multicast to PC sections or sent directly (p2p)
Definition at line 83 of file pcConfig.h.
Referenced by cp::gspace::PCCommManager::makeLeftTree(), cp::gspace::PCCommManager::makeRightTree(), paircalcstartup(), pup(), cp::gspace::PCCommManager::sendLeftDataMcast(), cp::gspace::PCCommManager::sendLeftRDMARequest(), cp::gspace::PCCommManager::sendRightDataMcast(), and cp::gspace::PCCommManager::sendRightRDMARequest().
bool cp::paircalc::pcConfig::isLBon |
Should the paircalcs worry about load balancing.
Definition at line 77 of file pcConfig.h.
Referenced by paircalcstartup(), PairCalculator::PairCalculator(), pup(), and PairCalculator::pup().
bool cp::paircalc::pcConfig::isOutputReduced |
Should the results from each PC chare be reduced or delivered individually to GSpace?
Definition at line 91 of file pcConfig.h.
Referenced by PairCalculator::bwSendHelper(), PairCalculator::enqueueBWsend(), paircalcstartup(), and pup().
int cp::paircalc::pcConfig::numChunks |
The number of chunks (4th dimension of decomposition)
Definition at line 43 of file pcConfig.h.
Referenced by PairCalculator::bwMultiplyDynOrthoT(), PairCalculator::bwMultiplyHelper(), cp::paircalc::Builder::createMap(), cp::paircalc::Builder::createPairCalcs(), cp::ortho::PCSectionManager::init(), cp::gspace::PCCommManager::makeLeftTree(), cp::gspace::PCCommManager::makeRightTree(), paircalcstartup(), pup(), PairCalculator::pup(), cp::gspace::PCCommManager::sendLeftDataMcast(), cp::gspace::PCCommManager::sendLeftRDMARequest(), cp::gspace::PCCommManager::sendRightDataMcast(), and cp::gspace::PCCommManager::sendRightRDMARequest().
int cp::paircalc::pcConfig::numPlanes |
The total number of planes in the system.
Definition at line 39 of file pcConfig.h.
Referenced by cp::paircalc::Builder::createMap(), cp::paircalc::Builder::createPairCalcs(), cp::ortho::PCSectionManager::init(), paircalcstartup(), and pup().
int cp::paircalc::pcConfig::orthoGrainSize |
The grain size along the states dimensions for Ortho chares.
ie, the number of states per ortho chare. Ortho chares along the right and bottom chare array boundaries may have to deal with remainders and may hence have a larger orthoGrainSize
Definition at line 52 of file pcConfig.h.
Referenced by PairCalculator::acceptOrthoT(), PairCalculator::bwMultiplyHelper(), PairCalculator::bwSendHelper(), PairCalculator::collectTile(), PairCalculator::contributeSubTiles(), cp::ortho::PCSectionManager::init(), PairCalculator::initGRed(), PairCalculator::multiplyResult(), paircalcstartup(), PairCalculator::PairCalculator(), pup(), and PairCalculator::sendTiles().
int cp::paircalc::pcConfig::PsiVEP |
The entry point to which this instance should send PsiV tolerance update results to.
Definition at line 65 of file pcConfig.h.
Referenced by paircalcstartup(), PairCalculator::PairCalculator(), and pup().
int cp::paircalc::pcConfig::resultMsgPriority |
If shouldDelayBWsend, what priority should this instance use for the result msgs.
Definition at line 93 of file pcConfig.h.
Referenced by paircalcstartup(), pup(), and PairCalculator::sendBWResultDirect().
bool cp::paircalc::pcConfig::shouldDelayBWsend |
Should we tweak msg priority to delay msgs to GSpace carrying the results?
Definition at line 103 of file pcConfig.h.
Referenced by PairCalculator::enqueueBWsend(), paircalcstartup(), and pup().