PPL Logo

libs/ck-libs/ampi/ampiimpl.h File Reference

Go to the source code of this file.

Namespaces

namespace  PUP

Data Structures

class  PUP::zdisk
class  PUP::tozDisk
class  PUP::fromzDisk
class  AmpiCounters
class  WinStruct
class  lockQueueEntry
class  win_obj
class  KeyvalPair
class  InfoStruct
class  ampiCommStruct
class  mpi_comm_worlds
class  AmpiRequest
 Represents an MPI request that has been initiated using Isend, Irecv, Ialltoall, Send_init, etc. More...
class  PersReq
class  IReq
class  ATAReq
class  ATAReq::Request
class  SReq
class  GPUReq
class  AmpiRequestList
 Special CkVec<AmpiRequest*> for AMPI. Most code copied from cklist.h. More...
class  memBuf
class  AmpiMsg
class  AmpiOtherElement
 Our local representation of another AMPI array element. More...
class  AmpiSeqQ
class  KeyvalNode
class  ampiParent
class  ampi

Typedefs

typedef CkQ< lockQueueEntry * > LockQueue
typedef CkVec< intgroupStruct

Functions

void applyOp (MPI_Datatype datatype, MPI_Op op, int count, void *invec, void *inoutvec)
 PUPfunctionpointer (MPI_Op) class AmpiOpHeader
 PUPmarshall (ampiCommStruct) struct mpi_comm_world
void outputOp (groupStruct vec)
int getPosOp (int idx, groupStruct vec)
groupStruct unionOp (groupStruct vec1, groupStruct vec2)
groupStruct intersectOp (groupStruct vec1, groupStruct vec2)
groupStruct diffOp (groupStruct vec1, groupStruct vec2)
inttranslateRanksOp (int n, groupStruct vec1, int *ranks1, groupStruct vec2, int *ret)
int compareVecOp (groupStruct vec1, groupStruct vec2)
groupStruct inclOp (int n, int *ranks, groupStruct vec)
groupStruct exclOp (int n, int *ranks, groupStruct vec)
groupStruct rangeInclOp (int n, int ranges[][3], groupStruct vec)
groupStruct rangeExclOp (int n, int ranges[][3], groupStruct vec)
template<class T>
void pupIntoBuf (memBuf &b, T &t)
template<class T>
void pupFromBuf (const void *data, T &t)
 PUPmarshall (AmpiSeqQ) inline CProxy_ampi ampiCommStruct
const ampiCommStructuniverseComm2CommStruct (MPI_Comm universeNo)
ampiParentgetAmpiParent (void)
ampigetAmpiInstance (MPI_Comm comm)
void checkComm (MPI_Comm comm)
void checkRequest (MPI_Request req)

Variables

static CkListString msgLogRanks
static int msgLogWrite
static int msgLogRead
static char * msgLogFilename
int _mpi_nworlds


Typedef Documentation

Definition at line 135 of file ampiimpl.h.

typedef CkVec<int> groupStruct

Definition at line 401 of file ampiimpl.h.


Function Documentation

void applyOp ( MPI_Datatype  datatype,
MPI_Op  op,
int  count,
void *  invec,
void *  inoutvec 
)

Definition at line 3237 of file ampi.C.

Referenced by win_obj::accumulate().

PUPfunctionpointer ( MPI_Op   ) 

Definition at line 101 of file ampiimpl.h.

PUPmarshall ( ampiCommStruct   ) 

Definition at line 358 of file ampiimpl.h.

References PUP::er::isUnpacking(), and p.

void outputOp ( groupStruct  vec  )  [inline]

Definition at line 403 of file ampiimpl.h.

References CkVec< T >::size().

int getPosOp ( int  idx,
groupStruct  vec 
) [inline]

groupStruct unionOp ( groupStruct  vec1,
groupStruct  vec2 
) [inline]

Definition at line 418 of file ampiimpl.h.

References getPosOp(), MPI_UNDEFINED, CkVec< T >::push_back(), and CkVec< T >::size().

Referenced by AMPI_Group_union().

groupStruct intersectOp ( groupStruct  vec1,
groupStruct  vec2 
) [inline]

Definition at line 426 of file ampiimpl.h.

References getPosOp(), MPI_UNDEFINED, CkVec< T >::push_back(), and CkVec< T >::size().

Referenced by AMPI_Group_intersection().

groupStruct diffOp ( groupStruct  vec1,
groupStruct  vec2 
) [inline]

Definition at line 434 of file ampiimpl.h.

References getPosOp(), MPI_UNDEFINED, CkVec< T >::push_back(), and CkVec< T >::size().

Referenced by AMPI_Group_difference().

int* translateRanksOp ( int  n,
groupStruct  vec1,
int ranks1,
groupStruct  vec2,
int ret 
) [inline]

Definition at line 442 of file ampiimpl.h.

References getPosOp().

Referenced by AMPI_Group_translate_ranks().

int compareVecOp ( groupStruct  vec1,
groupStruct  vec2 
) [inline]

Definition at line 449 of file ampiimpl.h.

References getPosOp(), MPI_IDENT, MPI_SIMILAR, MPI_UNDEFINED, MPI_UNEQUAL, and CkVec< T >::size().

Referenced by AMPI_Group_compare().

groupStruct inclOp ( int  n,
int ranks,
groupStruct  vec 
) [inline]

Definition at line 459 of file ampiimpl.h.

References CkVec< T >::push_back().

Referenced by AMPI_Group_incl().

groupStruct exclOp ( int  n,
int ranks,
groupStruct  vec 
) [inline]

Definition at line 466 of file ampiimpl.h.

References CkVec< T >::push_back(), and CkVec< T >::size().

Referenced by AMPI_Group_excl(), and rangeExclOp().

groupStruct rangeInclOp ( int  n,
int  ranges[][3],
groupStruct  vec 
) [inline]

Definition at line 477 of file ampiimpl.h.

References CkVec< T >::push_back().

Referenced by AMPI_Group_range_incl().

groupStruct rangeExclOp ( int  n,
int  ranges[][3],
groupStruct  vec 
) [inline]

Definition at line 489 of file ampiimpl.h.

References exclOp(), CkVec< T >::push_back(), and CkVec< T >::size().

Referenced by AMPI_Group_range_excl().

template<class T>
void pupIntoBuf ( memBuf b,
T &  t 
) [inline]

Definition at line 854 of file ampiimpl.h.

References memBuf::getData(), memBuf::setSize(), and PUP::sizer::size().

Referenced by ampiCreateMain().

template<class T>
void pupFromBuf ( const void *  data,
T &  t 
) [inline]

Definition at line 861 of file ampiimpl.h.

References p.

Referenced by PUPmarshall().

PUPmarshall ( AmpiSeqQ   ) 

Definition at line 971 of file ampiimpl.h.

const ampiCommStruct& universeComm2CommStruct ( MPI_Comm  universeNo  ) 

Definition at line 1791 of file ampi.C.

References MPI_COMM_WORLD.

Referenced by ampiParent::comm2CommStruct().

ampiParent* getAmpiParent ( void   ) 

Definition at line 2365 of file ampi.C.

References p.

Referenced by AMPI_Accumulate(), AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Allreduce(), AMPI_Alltoall(), AMPI_Alltoall2(), AMPI_Alltoallv(), AMPI_Attr_delete(), AMPI_Attr_get(), AMPI_Attr_put(), AMPI_Barrier(), AMPI_Bcast(), AMPI_Cart_coords(), AMPI_Cart_create(), AMPI_Cart_get(), AMPI_Cart_rank(), AMPI_Cart_shift(), AMPI_Cart_sub(), AMPI_Cartdim_get(), AMPI_Checkpoint(), AMPI_Comm_create(), AMPI_Comm_group(), AMPI_Comm_rank(), AMPI_Comm_remote_group(), AMPI_Comm_remote_size(), AMPI_Comm_size(), AMPI_Comm_split(), AMPI_Comm_test_inter(), AMPI_Finalize(), AMPI_Gather(), AMPI_Gatherv(), AMPI_Get(), AMPI_Get_processor_name(), AMPI_Graph_create(), AMPI_Graph_get(), AMPI_Graph_neighbors(), AMPI_Graph_neighbors_count(), AMPI_Graphdims_get(), AMPI_Group_compare(), AMPI_Group_difference(), AMPI_Group_excl(), AMPI_Group_incl(), AMPI_Group_intersection(), AMPI_Group_range_excl(), AMPI_Group_range_incl(), AMPI_Group_rank(), AMPI_Group_size(), AMPI_Group_translate_ranks(), AMPI_Group_union(), AMPI_Iallgather(), AMPI_Iallreduce(), AMPI_Ialltoall(), AMPI_IGet(), AMPI_IGet_Free(), AMPI_IGet_Wait(), AMPI_Info_create(), AMPI_Info_delete(), AMPI_Info_dup(), AMPI_Info_free(), AMPI_Info_get(), AMPI_Info_get_nkeys(), AMPI_Info_get_nthkey(), AMPI_Info_get_valuelen(), AMPI_Info_set(), AMPI_Irecv(), AMPI_Isend(), AMPI_Issend(), AMPI_Keyval_create(), AMPI_Keyval_free(), AMPI_MemCheckpoint(), AMPI_Print(), AMPI_Put(), AMPI_Recv(), AMPI_Reduce(), AMPI_Reduce_scatter(), AMPI_Scan(), AMPI_Scatter(), AMPI_Scatterv(), AMPI_Send(), AMPI_Set_load(), AMPI_Ssend(), AMPI_Start_measure(), AMPI_Stop_measure(), AMPI_Topo_test(), AMPI_Wait(), AMPI_Waitall(), AMPI_Win_fence(), AMPI_Win_free(), AMPI_Win_get_group(), AMPI_Win_get_name(), AMPI_Win_lock(), AMPI_Win_post(), AMPI_Win_set_name(), AMPI_Win_start(), AMPI_Win_unlock(), AMPI_Wtime(), ampiInit(), checkComm(), getAmpiInstance(), getDDT(), and getReqs().

ampi* getAmpiInstance ( MPI_Comm  comm  ) 

Definition at line 2373 of file ampi.C.

void checkComm ( MPI_Comm  comm  )  [inline]

Definition at line 2385 of file ampi.C.

References ampiParent::checkComm(), and getAmpiParent().

void checkRequest ( MPI_Request  req  )  [inline]


Variable Documentation

Definition at line 28 of file ampiimpl.h.

Referenced by ampiProcInit(), and record_msglog().

int msgLogWrite [static]

int msgLogRead [static]

char* msgLogFilename [static]

Definition at line 31 of file ampiimpl.h.

Referenced by ampiProcInit(), and ampiParent::init().

Definition at line 115 of file ampi.C.


Generated on Wed May 23 08:06:41 2012 for Charm++ by  doxygen 1.5.5