PPL Logo

CkDDT Class Reference

#include <ddt.h>

Collaboration diagram for CkDDT:

Collaboration graph
[legend]

Public Member Functions

 CkDDT (const array< const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1 > &predefinedTypeTable_) noexcept
CkDDToperator= (const CkDDT &obj)
 CkDDT (const CkDDT &obj)
 ~CkDDT () noexcept
void newContiguous (int count, MPI_Datatype oldType, MPI_Datatype *newType) noexcept
void newVector (int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype) noexcept
void newHVector (int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype) noexcept
void newIndexedBlock (int count, int Blocklength, const int *arrDisp, MPI_Datatype oldtype, MPI_Datatype *newtype) noexcept
void newHIndexedBlock (int count, int Blocklength, const MPI_Aint *arrDisp, MPI_Datatype oldtype, MPI_Datatype *newtype) noexcept
void newIndexed (int count, const int *arrbLength, MPI_Aint *arrDisp, MPI_Datatype oldtype, MPI_Datatype *newtype) noexcept
void newHIndexed (int count, const int *arrbLength, const MPI_Aint *arrDisp, MPI_Datatype oldtype, MPI_Datatype *newtype) noexcept
void newStruct (int count, const int *arrbLength, const MPI_Aint *arrDisp, const MPI_Datatype *oldtype, MPI_Datatype *newtype) noexcept
int insertType (CkDDT_DataType *ptr, int type) noexcept
void freeType (int index) noexcept
void pup (PUP::er &p) noexcept
void createDup (int nIndexOld, int *nIndexNew) noexcept
void createResized (MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype) noexcept
int getEnvelope (int nIndex, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner) const noexcept
int getContents (int nIndex, int max_integers, int max_addresses, int max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], int array_of_datatypes[]) noexcept
CkDDT_DataTypegetType (int nIndex) const noexcept
bool isContig (int nIndex) const noexcept
int getSize (int nIndex, int count=1) const noexcept
MPI_Aint getExtent (int nIndex) const noexcept
MPI_Aint getLB (int nIndex) const noexcept
MPI_Aint getUB (int nIndex) const noexcept
MPI_Aint getTrueExtent (int nIndex) const noexcept
MPI_Aint getTrueLB (int nIndex) const noexcept
void setName (int nIndex, const char *name) noexcept
void getName (int nIndex, char *name, int *len) const noexcept

Static Public Member Functions

static void addBasic (array< const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1 > &predefinedTypeTable_, int type) noexcept
static void addStruct (array< const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1 > &predefinedTypeTable_, const char *name, int type, int val, int idx, int offset) noexcept
static const array< const
CkDDT_DataType
*, AMPI_MAX_PREDEFINED_TYPE+1 > 
createPredefinedTypes () noexcept

Private Attributes

const array< const
CkDDT_DataType
*, AMPI_MAX_PREDEFINED_TYPE+1 > & 
predefinedTypeTable
vector< CkDDT_DataType * > userTypeTable
vector< inttypes

Detailed Description

Definition at line 445 of file ddt.h.


Constructor & Destructor Documentation

CkDDT::CkDDT ( const array< const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1 > &  predefinedTypeTable_  )  [inline]

Definition at line 561 of file ddt.h.

CkDDT::CkDDT ( const CkDDT obj  ) 

CkDDT::~CkDDT (  ) 

Definition at line 90 of file ddt.C.

References userTypeTable.


Member Function Documentation

static void CkDDT::addBasic ( array< const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1 > &  predefinedTypeTable_,
int  type 
) [inline, static]

Definition at line 455 of file ddt.h.

References type.

Referenced by createPredefinedTypes().

Here is the caller graph for this function:

static void CkDDT::addStruct ( array< const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1 > &  predefinedTypeTable_,
const char *  name,
int  type,
int  val,
int  idx,
int  offset 
) [inline, static]

Definition at line 465 of file ddt.h.

References idx, name, offset, and type.

Referenced by createPredefinedTypes().

Here is the caller graph for this function:

static const array<const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1> CkDDT::createPredefinedTypes (  )  [inline, static]

Definition at line 478 of file ddt.h.

References addBasic(), addStruct(), and idx.

Here is the call graph for this function:

CkDDT& CkDDT::operator= ( const CkDDT obj  ) 

void CkDDT::newContiguous ( int  count,
MPI_Datatype  oldType,
MPI_Datatype newType 
)

Definition at line 248 of file ddt.C.

References count, getType(), insertType(), oldType, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::newVector ( int  count,
int  blocklength,
int  stride,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 255 of file ddt.C.

References blocklength, count, getType(), insertType(), oldType, stride, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::newHVector ( int  count,
int  blocklength,
int  stride,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 263 of file ddt.C.

References blocklength, count, getType(), insertType(), oldtype, stride, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::newIndexedBlock ( int  count,
int  Blocklength,
const int arrDisp,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 271 of file ddt.C.

References arrDisp, count, CkDDT_DataType::getExtent(), getType(), insertType(), oldtype, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::newHIndexedBlock ( int  count,
int  Blocklength,
const MPI_Aint arrDisp,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 288 of file ddt.C.

References arrDisp, count, getType(), insertType(), oldtype, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::newIndexed ( int  count,
const int arrbLength,
MPI_Aint arrDisp,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 297 of file ddt.C.

References arrDisp, count, CkDDT_DataType::getExtent(), getType(), insertType(), oldtype, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::newHIndexed ( int  count,
const int arrbLength,
const MPI_Aint arrDisp,
MPI_Datatype  oldtype,
MPI_Datatype newtype 
)

Definition at line 311 of file ddt.C.

References arrDisp, count, getType(), insertType(), oldtype, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::newStruct ( int  count,
const int arrbLength,
const MPI_Aint arrDisp,
const MPI_Datatype oldtype,
MPI_Datatype newtype 
)

Definition at line 319 of file ddt.C.

References arrDisp, count, getType(), insertType(), oldtype, and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

int CkDDT::insertType ( CkDDT_DataType ptr,
int  type 
)

Definition at line 100 of file ddt.C.

References type, types, and userTypeTable.

Referenced by createDup(), createResized(), newContiguous(), newHIndexed(), newHIndexedBlock(), newHVector(), newIndexed(), newIndexedBlock(), newStruct(), and newVector().

Here is the caller graph for this function:

void CkDDT::freeType ( int  index  ) 

Definition at line 56 of file ddt.C.

References count, idx, and index.

Referenced by AMPI_API_IMPL().

Here is the caller graph for this function:

void CkDDT::pup ( PUP::er p  ) 

Definition at line 8 of file ddt.C.

References p.

void CkDDT::createDup ( int  nIndexOld,
int nIndexNew 
)

Definition at line 117 of file ddt.C.

References CkDDT_DataType::getType(), getType(), insertType(), and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::createResized ( MPI_Datatype  oldtype,
MPI_Aint  lb,
MPI_Aint  extent,
MPI_Datatype newtype 
)

Definition at line 191 of file ddt.C.

References CkDDT_DataType::getType(), getType(), insertType(), lb, oldtype, CkDDT_DataType::setSize(), and type.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

int CkDDT::getEnvelope ( int  nIndex,
int num_integers,
int num_addresses,
int num_datatypes,
int combiner 
) const

Definition at line 166 of file ddt.C.

References CkDDT_DataType::getEnvelope(), and getType().

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

int CkDDT::getContents ( int  nIndex,
int  max_integers,
int  max_addresses,
int  max_datatypes,
int  array_of_integers[],
MPI_Aint  array_of_addresses[],
int  array_of_datatypes[] 
)

Definition at line 173 of file ddt.C.

References PUP::a, count, PUP::d, CkDDT_DataType::getBaseType(), CkDDT_DataType::getContents(), CkDDT_DataType::getCount(), CkDDT_DataType::getType(), getType(), and CkDDT_DataType::incRefCount().

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

CkDDT_DataType* CkDDT::getType ( int  nIndex  )  const [inline]

bool CkDDT::isContig ( int  nIndex  )  const [inline]

Definition at line 603 of file ddt.h.

References getType(), and CkDDT_DataType::isContig().

Referenced by AMPI_Type_is_contiguous().

Here is the call graph for this function:

Here is the caller graph for this function:

int CkDDT::getSize ( int  nIndex,
int  count = 1 
) const [inline]

Definition at line 604 of file ddt.h.

References count, CkDDT_DataType::getSize(), and getType().

Referenced by AMPI_API_IMPL(), and CkDDT_DataType::getNumBasicElements().

Here is the call graph for this function:

Here is the caller graph for this function:

MPI_Aint CkDDT::getExtent ( int  nIndex  )  const [inline]

Definition at line 605 of file ddt.h.

References CkDDT_DataType::getExtent(), and getType().

Referenced by AMPI_API_IMPL(), handle_MPI_IN_PLACE_gather(), and handle_MPI_IN_PLACE_gatherv().

Here is the call graph for this function:

Here is the caller graph for this function:

MPI_Aint CkDDT::getLB ( int  nIndex  )  const [inline]

Definition at line 606 of file ddt.h.

References CkDDT_DataType::getLB(), and getType().

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

MPI_Aint CkDDT::getUB ( int  nIndex  )  const [inline]

Definition at line 607 of file ddt.h.

References getType(), and CkDDT_DataType::getUB().

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

MPI_Aint CkDDT::getTrueExtent ( int  nIndex  )  const [inline]

Definition at line 608 of file ddt.h.

References CkDDT_DataType::getTrueExtent(), and getType().

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

MPI_Aint CkDDT::getTrueLB ( int  nIndex  )  const [inline]

Definition at line 609 of file ddt.h.

References CkDDT_DataType::getTrueLB(), and getType().

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::setName ( int  nIndex,
const char *  name 
) [inline]

Definition at line 610 of file ddt.h.

References getType(), name, and CkDDT_DataType::setName().

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDDT::getName ( int  nIndex,
char *  name,
int len 
) const [inline]

Definition at line 611 of file ddt.h.

References CkDDT_DataType::getName(), getType(), len, and name.

Referenced by AMPI_API_IMPL().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

const array<const CkDDT_DataType *, AMPI_MAX_PREDEFINED_TYPE+1>& CkDDT::predefinedTypeTable [private]

Definition at line 448 of file ddt.h.

Referenced by getType().

vector<CkDDT_DataType *> CkDDT::userTypeTable [private]

Definition at line 449 of file ddt.h.

Referenced by getType(), insertType(), and ~CkDDT().

vector<int> CkDDT::types [private]

Definition at line 450 of file ddt.h.

Referenced by insertType().


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

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