OpenAtom  Version1.5a
cp::paircalc::pcConfig Class Reference

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
 

Detailed Description

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.

Member Data Documentation

bool cp::paircalc::pcConfig::areBWTilesCollected

Should this instance collect result fragments and send them out together in the BW path?

Note
: Originally, collectAllTiles

Definition at line 97 of file pcConfig.h.

Referenced by PairCalculator::bwMultiplyHelper(), PairCalculator::multiplyResult(), paircalcstartup(), PairCalculator::PairCalculator(), pup(), and PairCalculator::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

Note
: PURELY for the BGL

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.

Note
: Originally, final_callbackid

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.

Note
: Originally, final_callback_ep

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?

Note
: Originally, useBWBarrier

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?

Note
: Originally, PCstreamBWout

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.

Note
: This could turn into an enum as more run modes are introduced

Definition at line 28 of file pcConfig.h.

Referenced by paircalcstartup(), PairCalculator::PairCalculator(), and pup().

bool cp::paircalc::pcConfig::isInputMulticast
bool cp::paircalc::pcConfig::isLBon

Should the paircalcs worry about load balancing.

Note
: Originally, lbpaircalc

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?

Note
: Originally, !gSpaceSum

Definition at line 91 of file pcConfig.h.

Referenced by PairCalculator::bwSendHelper(), PairCalculator::enqueueBWsend(), paircalcstartup(), and pup().

int cp::paircalc::pcConfig::numPlanes

The total number of planes in the system.

Warning
: Not used in the original code. WHY?

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.

Note
: Originally, callback_ep_tol

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.

Note
: Originally, gpriority

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?

Note
: Originally, delaybw

Definition at line 103 of file pcConfig.h.

Referenced by PairCalculator::enqueueBWsend(), paircalcstartup(), and pup().


The documentation for this class was generated from the following file: