Revision e07333e63a376a103d320cc43c22df0b78b7f2a8 authored by Tim Haines on 30 October 2018, 03:15:40 UTC, committed by Tim Haines on 11 November 2018, 10:27:44 UTC
This requires https://charm.cs.illinois.edu/gerrit/#/c/cosmo/changa/+/3393/ https://charm.cs.illinois.edu/gerrit/#/c/cosmo/changa/+/3602/ https://charm.cs.illinois.edu/gerrit/#/c/charm/+/4753/ https://charm.cs.illinois.edu/gerrit/#/c/charm/+/4755/ Change-Id: I4d0adea6284941a2d1a62ace98faaeea39a73b3c
1 parent 2fbebec
PETreeMerger.h
#ifndef PE_TREE_MERGER_H
#define PE_TREE_MERGER_H
#include "ParallelGravity.h"
/// @addtogroup TreeBuild
/// @{
/// @brief Group to coordinate requests for remote moments during the
/// tree build
///
/// This group is used if MERGE_REMOTE_REQUESTS is defined.
class PETreeMerger : public CBase_PETreeMerger {
CkVec<GenericTreeNode*> submittedRoots;
CkVec<TreePiece*> submittedTreePieces;
NonEmptyTreePieceCounter submittingTreePieceCounter;
public:
PETreeMerger() {}
PETreeMerger(CkMigrateMessage *m) : CBase_PETreeMerger(m) {}
void pup(PUP::er &p) { CBase_PETreeMerger::pup(p); }
void mergeNonLocalRequests(GenericTreeNode *root, TreePiece *treePiece);
void freeTree();
private:
void mergeWalk(CkVec<GenericTreeNode*> &mergeList, CkVec<TreePiece*> &treePieceList);
void requestNonLocalMoments(GenericTreeNode *pickedNode, TreePiece *pickedTreePiece);
};
/// @}
#endif
Computing file changes ...