Base clase for all tree based computations. More...
#include <Compute.h>
Public Member Functions | |
void | setOpt (Opt *opt) |
virtual int | doWork (GenericTreeNode *, TreeWalk *tw, State *state, int chunk, int reqID, bool isRoot, bool &didcomp, int awi)=0 |
Work to be done at each node. | |
virtual int | openCriterion (TreePiece *ownerTP, GenericTreeNode *node, int reqID, State *state)=0 |
virtual void | stateReady (State *state, TreePiece *owner, int chunk, int start, int end) |
virtual void | stateReadyPar (TreePiece *tp, int start, int end, CkVec< OffsetNode > &clist, CkVec< RemotePartInfo > &rpilist, CkVec< LocalPartInfo > &lpilist) |
virtual void | fillLists (State *state_, TreePiece *tp, int chunk, int start, int end, CkVec< OffsetNode > &clistforb, CkVec< RemotePartInfo > &rplistforb, CkVec< LocalPartInfo > &lplistforb) |
virtual void | init (void *cE, int activeRung, Opt *opt) |
Associate computeEntity (target bucket or node), activeRung and Optimization with this Compute object. | |
virtual void | reassoc (void *cE, int aR, Opt *opt) |
ComputeType | getSelfType () |
OptType | getOptType () |
int | getActiveRung () |
virtual void | initState (State *state) |
virtual void | startNodeProcessEvent (State *state) |
virtual void | finishNodeProcessEvent (TreePiece *owner, State *state) |
Allow book-keeping when finished with a node. | |
virtual void | nodeMissedEvent (int reqID, int chunk, State *state, TreePiece *tp) |
Allow book-keeping of a cache miss. | |
virtual void | nodeRecvdEvent (TreePiece *owner, int chunk, State *state, int bucket) |
Allow book-keeping of a cache receive event. | |
virtual void | recvdParticles (ExternalGravityParticle *egp, int num, int chunk, int reqID, State *state, TreePiece *tp, Tree::NodeKey &remoteBucket) |
Allow book-keeping of a cache receive event. | |
virtual void | recvdParticlesFull (GravityParticle *egp, int num, int chunk, int reqID, State *state, TreePiece *tp, Tree::NodeKey &remoteBucket) |
Allow book-keeping of a cache receive event. | |
virtual void | walkDone (State *state) |
virtual void | setComputeEntity (void *ce) |
virtual void * | getComputeEntity () |
virtual State * | getNewState (int d1, int d2) |
virtual State * | getNewState (int d1) |
virtual State * | getNewState () |
virtual void | freeState (State *state) |
Public Attributes | |
int | nActive |
Protected Member Functions | |
Compute (ComputeType t) | |
Protected Attributes | |
Opt * | opt |
void * | computeEntity |
int | activeRung |
ComputeType | type |
Base clase for all tree based computations.
The Compute object determines what work is to be done at each treenode, as well as what gets done at the beginning and the end of a walk. The key method is doWork().
|
inlinevirtual |
virtual functions to allow for book-keeping these are essentially notifications to the Compute object from the TreeWalk that certain events have taken place - the Compute reacts accordingly.
Reimplemented in MarkSmoothCompute, PrefetchCompute, ReSmoothCompute, and KNearestSmoothCompute.