PPL Logo

ck-core/ckreduction.C File Reference

Go to the source code of this file.

Data Structures

struct  CkExtContributeInfo

Typedefs

typedef enum uint8_t extContributorType

Enumerations

enum  uint8_t {
  CkArray_IfNotThere_buffer = 0, CkArray_IfNotThere_createhere = 1, CkArray_IfNotThere_createhome = 2, CkDeliver_queue = 0,
  CkDeliver_inline = 1, array = 0, group, nodegroup
}

Functions

 CK_REDUCTION_CONTRIBUTE_METHODS_DEF (Group,((CkReductionMgr *) this), CK_REDUCTION_CLIENT_DEF(reductionInfo, false)
static CkReductionMsginvalid_reducer_fn (int nMsg, CkReductionMsg **msg)
static CkReductionMsgnop_fn (int nMsg, CkReductionMsg **msg)
 SIMPLE_POLYMORPH_REDUCTION (sum, ret+[i]=value[i];)
static CkReductionMsgconcat_fn (int nMsg, CkReductionMsg **msg)
static int SET_ALIGN (int x)
static int SET_SIZE (int dataSize)
static CkReduction::setElementSET_NEXT (CkReduction::setElement *cur)
static CkReductionMsgset_fn (int nMsg, CkReductionMsg **msg)
static CkReductionMsgstatistics_fn (int nMsgs, CkReductionMsg **msg)
static CkReductionMsgexternal_py (int nMsgs, CkReductionMsg **msg)
template<typename T>
T * getExtContributor (CkExtContributeInfo *contribute_params)
template<>
ArrayElementgetExtContributor< ArrayElement > (CkExtContributeInfo *contribute_params)
template<>
GroupgetExtContributor< Group > (CkExtContributeInfo *contribute_params)
void CkExtContributeTo (CkExtContributeInfo *contribute_params, CkCallback &cb)
void CkExtContributeToChare (CkExtContributeInfo *contribute_params, int onPE, void *objPtr)
void CkExtContributeToArray (CkExtContributeInfo *contribute_params, int aid, int *idx, int ndims)
void CkExtContributeToGroup (CkExtContributeInfo *contribute_params, int gid, int pe)
template<class T>
void CkExtContribute (CkExtContributeInfo *contribute_params, CkCallback &cb)
 CK_REDUCTION_CONTRIBUTE_METHODS_DEF (NodeGroup,((CkNodeReductionMgr *) this), reductionInfo, false)

Variables

bool _inrestart
CkReductionTypesExt charm_reducers
int(* PyReductionExt )(char **, int *, int, char **)
static const int alignSize = sizeof(double)


Typedef Documentation


Enumeration Type Documentation

enum uint8_t

Enumerator:
CkArray_IfNotThere_buffer 
CkArray_IfNotThere_createhere 
CkArray_IfNotThere_createhome 
CkDeliver_queue 
CkDeliver_inline 
array 
group 
nodegroup 

Definition at line 1946 of file ckreduction.C.


Function Documentation

CK_REDUCTION_CONTRIBUTE_METHODS_DEF ( Group  ,
((CkReductionMgr *) this)  ,
CK_REDUCTION_CLIENT_DEF(  reductionInfo,
false   
)

Definition at line 111 of file ckreduction.C.

static CkReductionMsg* invalid_reducer_fn ( int  nMsg,
CkReductionMsg **  msg 
) [static]

Definition at line 1318 of file ckreduction.C.

Referenced by CkReduction::initReducerTable().

Here is the caller graph for this function:

static CkReductionMsg* nop_fn ( int  nMsg,
CkReductionMsg **  msg 
) [static]

Definition at line 1325 of file ckreduction.C.

References CkReductionMsg::buildNew(), and CkReduction::invalid.

Referenced by CkReduction::initReducerTable().

Here is the call graph for this function:

Here is the caller graph for this function:

SIMPLE_POLYMORPH_REDUCTION ( sum  ,
ret+  [i] = value[i]; 
)

Definition at line 1366 of file ckreduction.C.

References CkReductionMsg::buildNew(), CrnDrand(), CkReductionMsg::getData(), CkReductionMsg::getLength(), idx, int, and CkReduction::random.

Here is the call graph for this function:

static CkReductionMsg* concat_fn ( int  nMsg,
CkReductionMsg **  msg 
) [static]

Definition at line 1459 of file ckreduction.C.

References CkReductionMsg::buildNew(), Converse::CkMyPe(), CkReductionMsg::getData(), and CkReductionMsg::getSize().

Referenced by CkReduction::initReducerTable().

Here is the call graph for this function:

Here is the caller graph for this function:

static int SET_ALIGN ( int  x  )  [static]

Definition at line 1493 of file ckreduction.C.

Referenced by SET_SIZE().

Here is the caller graph for this function:

static int SET_SIZE ( int  dataSize  )  [static]

Definition at line 1496 of file ckreduction.C.

References SET_ALIGN().

Referenced by set_fn(), and SET_NEXT().

Here is the call graph for this function:

Here is the caller graph for this function:

static CkReduction::setElement* SET_NEXT ( CkReduction::setElement cur  )  [static]

Definition at line 1500 of file ckreduction.C.

References CkReduction::setElement::dataSize, and SET_SIZE().

Referenced by CkReduction::setElement::next(), and set_fn().

Here is the call graph for this function:

Here is the caller graph for this function:

static CkReductionMsg* set_fn ( int  nMsg,
CkReductionMsg **  msg 
) [static]

static CkReductionMsg* statistics_fn ( int  nMsgs,
CkReductionMsg **  msg 
) [static]

Definition at line 1576 of file ckreduction.C.

References CkReductionMsg::buildNew(), CkReduction::statisticsElement::count, CkReductionMsg::getLength(), CkReduction::invalid, PUP::m, CkReduction::statisticsElement::m2, CkReduction::statisticsElement::mean, and value.

Referenced by CkReduction::initReducerTable().

Here is the call graph for this function:

Here is the caller graph for this function:

static CkReductionMsg* external_py ( int  nMsgs,
CkReductionMsg **  msg 
) [static]

Definition at line 1769 of file ckreduction.C.

References CkReductionMsg::buildNew(), CkReductionMsg::getSize(), and PyReductionExt.

Referenced by PUPbytes().

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T>
T* getExtContributor ( CkExtContributeInfo contribute_params  )  [inline]

template<>
ArrayElement* getExtContributor< ArrayElement > ( CkExtContributeInfo contribute_params  )  [inline]

template<>
Group* getExtContributor< Group > ( CkExtContributeInfo contribute_params  )  [inline]

void CkExtContributeTo ( CkExtContributeInfo contribute_params,
CkCallback cb 
)

Definition at line 2011 of file ckreduction.C.

References array, CkExtContributeInfo::contributorType, group, and CkCallback::isCkExtReductionCb.

Referenced by CkExtContributeToArray(), CkExtContributeToChare(), and CkExtContributeToGroup().

Here is the caller graph for this function:

void CkExtContributeToChare ( CkExtContributeInfo contribute_params,
int  onPE,
void *  objPtr 
)

Definition at line 2031 of file ckreduction.C.

References cb, CkExtContributeInfo::cbEpIdx, CkExtContributeTo(), CkExtContributeInfo::fid, CkChareID::objPtr, CkChareID::onPE, and CkCallback::setRefnum().

Here is the call graph for this function:

void CkExtContributeToArray ( CkExtContributeInfo contribute_params,
int  aid,
int idx,
int  ndims 
)

Definition at line 2043 of file ckreduction.C.

References cb, CkExtContributeInfo::cbEpIdx, CkExtContributeTo(), CkExtContributeInfo::fid, _ckGroupID::idx, and CkCallback::setRefnum().

Here is the call graph for this function:

void CkExtContributeToGroup ( CkExtContributeInfo contribute_params,
int  gid,
int  pe 
)

Definition at line 2066 of file ckreduction.C.

References cb, CkExtContributeInfo::cbEpIdx, CkExtContributeTo(), CkExtContributeInfo::fid, _ckGroupID::idx, and CkCallback::setRefnum().

Here is the call graph for this function:

template<class T>
void CkExtContribute ( CkExtContributeInfo contribute_params,
CkCallback cb 
) [inline]

CK_REDUCTION_CONTRIBUTE_METHODS_DEF ( NodeGroup  ,
((CkNodeReductionMgr *) this)  ,
reductionInfo  ,
false   
)

Definition at line 2130 of file ckreduction.C.


Variable Documentation

CkReductionTypesExt charm_reducers

Definition at line 90 of file ckreduction.C.

int(* PyReductionExt)(char **, int *, int, char **)

const int alignSize = sizeof(double) [static]

Definition at line 1492 of file ckreduction.C.


Generated on Mon Sep 21 07:58:48 2020 for Charm++ by  doxygen 1.5.5