PPL Logo

ck::impl::XArraySectionReducer Class Reference

Helper class to complete the last step in a cross-array reduction. More...

#include <XArraySectionReducer.h>

Collaboration diagram for ck::impl::XArraySectionReducer:

Collaboration graph
[legend]

Public Member Functions

 XArraySectionReducer (int _numSubSections, CkCallback *_finalCB)
 ~XArraySectionReducer ()
void acceptSectionContribution (CkReductionMsg *msg)
 Each subsection reduction message needs to be passed in here.

Private Member Functions

void finalReducer (int redNo)
 Triggered after all subsections have completed their reductions for a particular redNo.

Private Attributes

const int numSubSections
const CkCallbackfinalCB
std::map< int, intnumReceivedMap
std::map< int, std::vector
< CkReductionMsg * > > 
msgMap

Detailed Description

Helper class to complete the last step in a cross-array reduction.

Simply buffers a bunch of reduction messages as they arrive via subsection reductions and performs a final reduction on these to generate the final reduced message which is passed on to the client.

Note:
: Temporary entity meant to exist only until delegated cross-array reductions are implemented more optimally.

Definition at line 18 of file XArraySectionReducer.h.


Constructor & Destructor Documentation

ck::impl::XArraySectionReducer::XArraySectionReducer ( int  _numSubSections,
CkCallback _finalCB 
) [inline]

Definition at line 22 of file XArraySectionReducer.h.

References numSubSections.

ck::impl::XArraySectionReducer::~XArraySectionReducer (  )  [inline]

Definition at line 29 of file XArraySectionReducer.h.

References finalCB.


Member Function Documentation

void ck::impl::XArraySectionReducer::acceptSectionContribution ( CkReductionMsg msg  )  [inline]

Each subsection reduction message needs to be passed in here.

Definition at line 35 of file XArraySectionReducer.h.

References finalReducer(), msgMap, numReceivedMap, numSubSections, CkReductionMsg::redNo, CkReductionMsg::reducer, CkReduction::reducerTable(), and size.

Here is the call graph for this function:

void ck::impl::XArraySectionReducer::finalReducer ( int  redNo  )  [inline, private]

Triggered after all subsections have completed their reductions for a particular redNo.

Definition at line 57 of file XArraySectionReducer.h.

References finalCB, msg, msgMap, numReceivedMap, CkReduction::reducerTable(), and CkCallback::send().

Referenced by acceptSectionContribution().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 79 of file XArraySectionReducer.h.

Referenced by acceptSectionContribution(), and XArraySectionReducer().

Definition at line 81 of file XArraySectionReducer.h.

Referenced by finalReducer(), and ~XArraySectionReducer().

Definition at line 85 of file XArraySectionReducer.h.

Referenced by acceptSectionContribution(), and finalReducer().

std::map<int, std::vector<CkReductionMsg *> > ck::impl::XArraySectionReducer::msgMap [private]

Definition at line 87 of file XArraySectionReducer.h.

Referenced by acceptSectionContribution(), and finalReducer().


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

Generated on Mon Sep 21 08:33:36 2020 for Charm++ by  doxygen 1.5.5