PPL Logo

CkReductionMsg Class Reference

#include <ckreduction.h>

Inheritance diagram for CkReductionMsg:

Inheritance graph
[legend]
Collaboration diagram for CkReductionMsg:

Collaboration graph
[legend]

Public Member Functions

int getLength () const
int getSize () const
void * getData ()
const void * getData () const
int getGcount () const
CkReduction::reducerType getReducer () const
int getRedNo () const
CMK_REFNUM_TYPE getUserFlag () const
void setUserFlag (CMK_REFNUM_TYPE f)
void setCallback (const CkCallback &cb)
bool isFromUser () const
bool isMigratableContributor () const
void setMigratableContributor (bool _mig)
void toTuple (CkReduction::tupleElement **out_reductions, int *num_reductions)
 ~CkReductionMsg ()

Static Public Member Functions

static CkReductionMsgbuildNew (int NdataSize, const void *srcData, CkReduction::reducerType reducer=CkReduction::invalid, CkReductionMsg *buf=NULL)
static CkReductionMsgbuildFromTuple (CkReduction::tupleElement *reductions, int num_reductions)
static void * alloc (int msgnum, size_t size, int *reqSize, int priobits, GroupDepNum groupDepNum=GroupDepNum{})
static void * pack (CkReductionMsg *)
static CkReductionMsgunpack (void *in)

Data Fields

void * event
int eventPe

Private Member Functions

int nSources () const
 CkReductionMsg ()

Private Attributes

int dataSize
int sourceFlag
int sourceProcessorCount
int fromPE
int redNo
int gcount
CkReduction::reducerType reducer
CMK_REFNUM_TYPE userFlag
bool migratableContributor
int8_t rebuilt
int8_t nFrags
int8_t fragNo
CkSectionInfo sid
CkCallback callback
void * log
void * data
double dataStorage

Friends

class CkReduction
class CkReductionMgr
class CkNodeReductionMgr
class CkMulticastMgr
class ArrayElement
class AllreduceMgr
class ck::impl::XArraySectionReducer

Detailed Description

Definition at line 351 of file ckreduction.h.


Constructor & Destructor Documentation

CkReductionMsg::~CkReductionMsg (  )  [inline]

Definition at line 396 of file ckreduction.h.

CkReductionMsg::CkReductionMsg (  )  [inline, private]

Definition at line 408 of file ckreduction.h.

Referenced by buildNew().

Here is the caller graph for this function:


Member Function Documentation

CkReductionMsg * CkReductionMsg::buildNew ( int  NdataSize,
const void *  srcData,
CkReduction::reducerType  reducer = CkReduction::invalid,
CkReductionMsg buf = NULL 
) [static]

int CkReductionMsg::getLength ( void   )  const [inline]

Definition at line 371 of file ckreduction.h.

References dataSize.

Referenced by CkCallbackSendExt(), makeRednMsg(), SIMPLE_POLYMORPH_REDUCTION(), statistics_fn(), and CkReduction::tupleReduction_fn().

Here is the caller graph for this function:

int CkReductionMsg::getSize ( void   )  const [inline]

void* CkReductionMsg::getData ( void   )  [inline]

const void* CkReductionMsg::getData ( void   )  const [inline]

Definition at line 374 of file ckreduction.h.

References data.

int CkReductionMsg::getGcount (  )  const [inline]

Definition at line 376 of file ckreduction.h.

References gcount.

CkReduction::reducerType CkReductionMsg::getReducer (  )  const [inline]

Definition at line 377 of file ckreduction.h.

References reducer.

Referenced by CkCallbackSendExt().

Here is the caller graph for this function:

int CkReductionMsg::getRedNo ( void   )  const [inline]

Definition at line 378 of file ckreduction.h.

References redNo.

CMK_REFNUM_TYPE CkReductionMsg::getUserFlag (  )  const [inline]

Definition at line 380 of file ckreduction.h.

References userFlag.

Referenced by CkReductionMgr::finishBarrier(), CkNodeReductionMgr::finishReduction(), and CkReductionMgr::finishReduction().

Here is the caller graph for this function:

void CkReductionMsg::setUserFlag ( CMK_REFNUM_TYPE  f  )  [inline]

Definition at line 381 of file ckreduction.h.

References userFlag.

Referenced by ArrayElement::contribute2().

Here is the caller graph for this function:

void CkReductionMsg::setCallback ( const CkCallback cb  )  [inline]

bool CkReductionMsg::isFromUser (  )  const [inline]

Definition at line 387 of file ckreduction.h.

References sourceFlag.

Referenced by CkMulticastMgr::recvRedMsg(), and set_fn().

Here is the caller graph for this function:

bool CkReductionMsg::isMigratableContributor (  )  const [inline]

Definition at line 389 of file ckreduction.h.

References migratableContributor.

Referenced by CkReductionMgr::contribute(), CkNodeReductionMgr::finishReduction(), and CkReductionMgr::reduceMessages().

Here is the caller graph for this function:

void CkReductionMsg::setMigratableContributor ( bool  _mig  )  [inline]

Definition at line 390 of file ckreduction.h.

References migratableContributor.

Referenced by ArrayElement::contribute2(), and CkReductionMgr::reduceMessages().

Here is the caller graph for this function:

CkReductionMsg * CkReductionMsg::buildFromTuple ( CkReduction::tupleElement reductions,
int  num_reductions 
) [static]

Definition at line 1665 of file ckreduction.C.

References buildNew(), CmiAbort(), data, msg, p, PUP::PUParray(), PUP::sizer::size(), and CkReduction::tuple.

Referenced by DistributedLB::DoneWithLBPhase(), makeGatherMsg(), makeGathervMsg(), makeRednMsg(), DistributedLB::Strategy(), and CkReduction::tupleReduction_fn().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkReductionMsg::toTuple ( CkReduction::tupleElement **  out_reductions,
int num_reductions 
)

Definition at line 1679 of file ckreduction.C.

References getData(), p, and PUP::PUParray().

Referenced by DistributedLB::AfterLBReduction(), DistributedLB::LoadReduction(), and CkReduction::tupleReduction_fn().

Here is the call graph for this function:

Here is the caller graph for this function:

static void* CkReductionMsg::alloc ( int  msgnum,
size_t  size,
int reqSize,
int  priobits 
) [static]

void * CkReductionMsg::pack ( CkReductionMsg in  )  [static]

Definition at line 1279 of file ckreduction.C.

References data, dataSize, gcount, redNo, and sourceFlag.

CkReductionMsg * CkReductionMsg::unpack ( void *  in  )  [static]

Definition at line 1287 of file ckreduction.C.

References data, dataSize, dataStorage, gcount, redNo, and sourceFlag.

int CkReductionMsg::nSources (  )  const [inline, private]

Definition at line 405 of file ckreduction.h.

References abs(), and sourceFlag.

Referenced by CkReductionMgr::Barrier_RecvMsg(), CkReductionMgr::finishBarrier(), CkReductionMgr::finishReduction(), CkReductionMgr::RecvMsg(), and CkReductionMgr::reduceMessages().

Here is the call graph for this function:

Here is the caller graph for this function:


Friends And Related Function Documentation

friend class CkReduction [friend]

Definition at line 353 of file ckreduction.h.

friend class CkReductionMgr [friend]

Definition at line 354 of file ckreduction.h.

friend class CkNodeReductionMgr [friend]

Definition at line 355 of file ckreduction.h.

friend class CkMulticastMgr [friend]

Definition at line 356 of file ckreduction.h.

friend class ArrayElement [friend]

Definition at line 358 of file ckreduction.h.

friend class AllreduceMgr [friend]

Definition at line 359 of file ckreduction.h.

friend class ck::impl::XArraySectionReducer [friend]

Definition at line 361 of file ckreduction.h.


Field Documentation

Definition at line 418 of file ckreduction.h.

Definition at line 420 of file ckreduction.h.

Referenced by CkReductionMgr::finishReduction(), and CkReductionMgr::RecvMsg().

CMK_REFNUM_TYPE CkReductionMsg::userFlag [private]

int8_t CkReductionMsg::rebuilt [private]

int8_t CkReductionMsg::nFrags [private]

int8_t CkReductionMsg::fragNo [private]

Definition at line 436 of file ckreduction.h.

Definition at line 437 of file ckreduction.h.

void* CkReductionMsg::log [private]

void* CkReductionMsg::data [private]

double CkReductionMsg::dataStorage [private]

Definition at line 442 of file ckreduction.h.

Referenced by unpack().


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

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