PPL Logo

final Class Reference

#include <ampiimpl.h>

Inheritance diagram for final:

Inheritance graph
[legend]
Collaboration diagram for final:

Collaboration graph
[legend]

Public Member Functions

 ampiCartTopology () noexcept
void pup (PUP::er &p) noexcept
int getType () const noexcept
void dup (ampiTopology *topo) noexcept
const vector< int > & getdims () const noexcept
const vector< int > & getperiods () const noexcept
int getndims () const noexcept
const vector< int > & getnbors () const noexcept
void setdims (const vector< int > &d) noexcept
void setperiods (const vector< int > &p) noexcept
void setndims (int nd) noexcept
void setnbors (const vector< int > &n) noexcept
 ampiGraphTopology () noexcept
void pup (PUP::er &p) noexcept
int getType () const noexcept
void dup (ampiTopology *topo) noexcept
int getnvertices () const noexcept
const vector< int > & getindex () const noexcept
const vector< int > & getedges () const noexcept
const vector< int > & getnbors () const noexcept
void setnvertices (int nv) noexcept
void setindex (const vector< int > &i) noexcept
void setedges (const vector< int > &e) noexcept
void setnbors (const vector< int > &n) noexcept
 ampiDistGraphTopology () noexcept
void pup (PUP::er &p) noexcept
int getType () const noexcept
void dup (ampiTopology *topo) noexcept
int getInDegree () const noexcept
const vector< int > & getSources () const noexcept
const vector< int > & getSourceWeights () const noexcept
int getOutDegree () const noexcept
const vector< int > & getDestinations () const noexcept
const vector< int > & getDestWeights () const noexcept
bool areSourcesWeighted () const noexcept
bool areDestsWeighted () const noexcept
const vector< int > & getnbors () const noexcept
void setAreSourcesWeighted (bool v) noexcept
void setAreDestsWeighted (bool v) noexcept
void setInDegree (int d) noexcept
void setSources (const vector< int > &s) noexcept
void setSourceWeights (const vector< int > &sw) noexcept
void setOutDegree (int d) noexcept
void setDestinations (const vector< int > &d) noexcept
void setDestWeights (const vector< int > &dw) noexcept
void setnbors (const vector< int > &nbors_) noexcept
 IReq (void *buf_, int count_, MPI_Datatype type_, int src_, int tag_, MPI_Comm comm_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 IReq ()
 ~IReq ()
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
void cancel () noexcept override
 Mark this request for cancellation.
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
bool isPooledType () const noexcept override
 Returns whether this type is pooled or not: Only AMPI_I_REQ, AMPI_SEND_REQ, and AMPI_SSEND_REQs are pooled.
void setPersistent (bool p) noexcept override
 Mark this request persistent.
bool isPersistent () const noexcept override
void start (MPI_Request reqIdx) noexcept override
 Activate this persistent request.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
void receiveRdma (ampi *ptr, char *sbuf, int slength, int ssendReq, int srcRank, MPI_Comm scomm) noexcept override
 Receive an Rdma message.
int getNumReceivedBytes (CkDDT *ptr) const noexcept override
 Return the actual number of bytes that were received.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 RednReq (void *buf_, int count_, MPI_Datatype type_, MPI_Comm comm_, MPI_Op op_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 RednReq ()
 ~RednReq ()
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
void cancel () noexcept override
 Mark this request for cancellation.
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 GatherReq (void *buf_, int count_, MPI_Datatype type_, MPI_Comm comm_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 GatherReq ()
 ~GatherReq ()
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
void cancel () noexcept override
 Mark this request for cancellation.
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 GathervReq (void *buf_, int count_, MPI_Datatype type_, MPI_Comm comm_, const int *rc, const int *d, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 GathervReq ()
 ~GathervReq ()
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 SendReq (MPI_Datatype type_, MPI_Comm comm_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 SendReq (void *buf_, int count_, MPI_Datatype type_, int dest_, int tag_, MPI_Comm comm_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 SendReq () noexcept
 ~SendReq () noexcept
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
void setPersistent (bool p) noexcept override
 Mark this request persistent.
bool isPersistent () const noexcept override
void start (MPI_Request reqIdx) noexcept override
 Activate this persistent request.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
bool isPooledType () const noexcept override
 Returns whether this type is pooled or not: Only AMPI_I_REQ, AMPI_SEND_REQ, and AMPI_SSEND_REQs are pooled.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 SsendReq (MPI_Datatype type_, MPI_Comm comm_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 SsendReq (void *buf_, int count_, MPI_Datatype type_, int dest_, int tag_, MPI_Comm comm_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 SsendReq (void *buf_, int count_, MPI_Datatype type_, int dest_, int tag_, MPI_Comm comm_, int src_, CkDDT *ddt_, AmpiReqSts sts_=AMPI_REQ_PENDING) noexcept
 SsendReq ()
 ~SsendReq ()
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
void setPersistent (bool p) noexcept override
 Mark this request persistent.
bool isPersistent () const noexcept override
void start (MPI_Request reqIdx) noexcept override
 Activate this persistent request.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
bool isPooledType () const noexcept override
 Returns whether this type is pooled or not: Only AMPI_I_REQ, AMPI_SEND_REQ, and AMPI_SSEND_REQs are pooled.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 ATAReq (int numReqs_) noexcept
 ATAReq ()
 ~ATAReq ()
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
int getCount () const noexcept
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 GReq (MPI_Grequest_query_function *q, MPI_Grequest_free_function *f, MPI_Grequest_cancel_function *c, void *es) noexcept
 GReq (MPI_Grequest_query_function *q, MPI_Grequest_free_function *f, MPI_Grequest_cancel_function *c, MPIX_Grequest_poll_function *p, void *es) noexcept
 GReq (MPI_Grequest_query_function *q, MPI_Grequest_free_function *f, MPI_Grequest_cancel_function *c, MPIX_Grequest_poll_function *p, MPIX_Grequest_wait_function *w, void *es) noexcept
 GReq ()
 ~GReq () noexcept
bool test (MPI_Status *sts=MPI_STATUS_IGNORE) noexcept override
 Return true if this request is finished (progress):.
int wait (MPI_Status *sts) noexcept override
 Block until this request is finished, returning a valid MPI error code.
void receive (ampi *ptr, AmpiMsg *msg, bool deleteMsg=true) noexcept override
 Receive an AmpiMsg.
void receive (ampi *ptr, CkReductionMsg *msg) noexcept override
 Receive a CkReductionMsg.
void cancel () noexcept override
 Mark this request for cancellation.
AmpiReqType getType () const noexcept override
bool isUnmatched () const noexcept override
 Returns whether this request will need to be matched.
void pup (PUP::er &p) noexcept override
void print () const noexcept override
 AmpiMsg () noexcept
 AmpiMsg (int sreq, int t, int sRank, int l) noexcept
 AmpiMsg (CMK_REFNUM_TYPE seq, int sreq, int t, int sRank, int l) noexcept
void setSsendReq (int s) noexcept
void setSeq (CMK_REFNUM_TYPE s) noexcept
void setSrcRank (int sr) noexcept
void setLength (int l) noexcept
void setTag (int t) noexcept
void setComm (MPI_Comm c) noexcept
CMK_REFNUM_TYPE getSeq () const noexcept
int getSsendReq () const noexcept
int getSeqIdx () const noexcept
int getSrcRank () const noexcept
int getLength () const noexcept
char * getData () const noexcept
int getTag () const noexcept
 Used by AmmEntry's constructor.
MPI_Comm getComm () const noexcept
void prepareCtv () noexcept
MPI_Message putMatchedMsg (AmpiMsg *msg) noexcept
AmpiMsg * getMatchedMsg (MPI_Message message) noexcept
void attachBuffer (void *buffer, int size) noexcept
void detachBuffer (void *buffer, int *size) noexcept
bool isSplit (MPI_Comm comm) const noexcept
const ampiCommStructgetSplit (MPI_Comm comm) const noexcept
void splitChildRegister (const ampiCommStruct &s) noexcept
bool isGroup (MPI_Comm comm) const noexcept
const ampiCommStructgetGroup (MPI_Comm comm) const noexcept
void groupChildRegister (const ampiCommStruct &s) noexcept
bool isInGroups (MPI_Group group) const noexcept
void cartChildRegister (const ampiCommStruct &s) noexcept
void graphChildRegister (const ampiCommStruct &s) noexcept
void distGraphChildRegister (const ampiCommStruct &s) noexcept
void interChildRegister (const ampiCommStruct &s) noexcept
void intraChildRegister (const ampiCommStruct &s) noexcept
 ampiParent (MPI_Comm worldNo_, CProxy_TCharm threads_, int nRanks_) noexcept
 ampiParent (CkMigrateMessage *msg) noexcept
void ckAboutToMigrate () noexcept
void ckJustMigrated () noexcept
void ckJustRestored () noexcept
void setUserAboutToMigrateFn (MPI_MigrateFn f) noexcept
void setUserJustMigratedFn (MPI_MigrateFn f) noexcept
 ~ampiParent () noexcept
TCharmregisterAmpi (ampi *ptr, ampiCommStruct s, bool forMigration) noexcept
void ExchangeProxy (CProxy_ampi rproxy) noexcept
MPI_Comm getNextSplit () const noexcept
MPI_Comm getNextGroup () const noexcept
MPI_Comm getNextCart () const noexcept
MPI_Comm getNextGraph () const noexcept
MPI_Comm getNextDistGraph () const noexcept
MPI_Comm getNextInter () const noexcept
MPI_Comm getNextIntra () const noexcept
bool isCart (MPI_Comm comm) const noexcept
ampiCommStructgetCart (MPI_Comm comm) const noexcept
bool isGraph (MPI_Comm comm) const noexcept
ampiCommStructgetGraph (MPI_Comm comm) const noexcept
bool isDistGraph (MPI_Comm comm) const noexcept
ampiCommStructgetDistGraph (MPI_Comm comm) const noexcept
bool isInter (MPI_Comm comm) const noexcept
const ampiCommStructgetInter (MPI_Comm comm) const noexcept
bool isIntra (MPI_Comm comm) const noexcept
const ampiCommStructgetIntra (MPI_Comm comm) const noexcept
void pup (PUP::er &p) noexcept
void startCheckpoint (const char *dname) noexcept
void Checkpoint (int len, const char *dname) noexcept
void ResumeThread () noexcept
TCharmgetTCharmThread () const noexcept
ampiParent * blockOnRecv () noexcept
CkDDTgetDDT () noexcept
void setMigratable (bool mig) noexcept
const ampiCommStructgetWorldStruct () const noexcept
const ampiCommStructcomm2CommStruct (MPI_Comm comm) const noexcept
vector< int > & getKeyvals (MPI_Comm comm) noexcept
ampi * comm2ampi (MPI_Comm comm) const noexcept
bool hasComm (const MPI_Group group) const noexcept
vector< intgroup2vec (MPI_Group group) const noexcept
MPI_Group saveGroupStruct (const vector< int > &vec) noexcept
int getRank (const MPI_Group group) const noexcept
AmpiRequestListgetReqs () noexcept
int getMyPe () const noexcept
bool hasWorld () const noexcept
void checkComm (MPI_Comm comm) const noexcept
MPI_Group comm2group (const MPI_Comm comm) const noexcept
 if intra-communicator, return comm, otherwise return null group
int getRemoteSize (const MPI_Comm comm) const noexcept
MPI_Group getRemoteGroup (const MPI_Comm comm) noexcept
int createKeyval (MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void *extra_state) noexcept
bool getBuiltinKeyval (int keyval, void *attribute_val) noexcept
int setUserKeyval (MPI_Comm comm, int keyval, void *attribute_val) noexcept
bool getUserKeyval (MPI_Comm comm, vector< int > &keyvals, int keyval, void *attribute_val, int *flag) noexcept
int dupUserKeyvals (MPI_Comm old_comm, MPI_Comm new_comm) noexcept
int freeUserKeyval (int context, vector< int > &keyvals, int *keyval) noexcept
int freeUserKeyvals (int context, vector< int > &keyvals) noexcept
int setAttr (MPI_Comm comm, vector< int > &keyvals, int keyval, void *attribute_val) noexcept
int getAttr (MPI_Comm comm, vector< int > &keyvals, int keyval, void *attribute_val, int *flag) noexcept
int deleteAttr (MPI_Comm comm, vector< int > &keyvals, int keyval) noexcept
int addWinStruct (WinStruct *win) noexcept
WinStructgetWinStruct (MPI_Win win) const noexcept
void removeWinStruct (WinStruct *win) noexcept
int createInfo (MPI_Info *newinfo) noexcept
int dupInfo (MPI_Info info, MPI_Info *newinfo) noexcept
int setInfo (MPI_Info info, const char *key, const char *value) noexcept
int deleteInfo (MPI_Info info, const char *key) noexcept
int getInfo (MPI_Info info, const char *key, int valuelen, char *value, int *flag) const noexcept
int getInfoValuelen (MPI_Info info, const char *key, int *valuelen, int *flag) const noexcept
int getInfoNkeys (MPI_Info info, int *nkeys) const noexcept
int getInfoNthkey (MPI_Info info, int n, char *key) const noexcept
int freeInfo (MPI_Info info) noexcept
void defineInfoEnv (int nRanks_) noexcept
void defineInfoMigration () noexcept
int createOp (MPI_User_function *fn, bool isCommutative) noexcept
void freeOp (MPI_Op op) noexcept
bool opIsPredefined (MPI_Op op) const noexcept
bool opIsCommutative (MPI_Op op) const noexcept
MPI_User_functionop2User_function (MPI_Op op) const noexcept
AmpiOpHeader op2AmpiOpHeader (MPI_Op op, MPI_Datatype type, int count) const noexcept
void applyOp (MPI_Datatype datatype, MPI_Op op, int count, const void *invec, void *inoutvec) const noexcept
void init () noexcept
void finalize () noexcept
void block () noexcept
void yield () noexcept
bool isRankRecordingMsgSizes () noexcept
void recordMsgSize (const char *func, int msgSize) noexcept
void printMsgSizes () noexcept
 ampi () noexcept
 ampi (CkArrayID parent_, const ampiCommStruct &s) noexcept
 ampi (CkMigrateMessage *msg) noexcept
void ckJustMigrated () noexcept
void ckJustRestored () noexcept
 ~ampi () noexcept
void pup (PUP::er &p) noexcept
void allInitDone () noexcept
void setInitDoneFlag () noexcept
void unblock () noexcept
void injectMsg (int size, char *buf) noexcept
void generic (AmpiMsg *) noexcept
void genericRdma (char *buf, int size, CMK_REFNUM_TYPE seq, int tag, int srcRank, MPI_Comm destcomm, int ssendReq) noexcept
void completedRdmaSend (CkDataMsg *msg) noexcept
void ssend_ack (int sreq) noexcept
void barrierResult () noexcept
void ibarrierResult () noexcept
void bcastResult (AmpiMsg *msg) noexcept
void rednResult (CkReductionMsg *msg) noexcept
void irednResult (CkReductionMsg *msg) noexcept
void splitPhase1 (CkReductionMsg *msg) noexcept
void splitPhaseInter (CkReductionMsg *msg) noexcept
void commCreatePhase1 (MPI_Comm nextGroupComm) noexcept
void intercommCreatePhase1 (MPI_Comm nextInterComm) noexcept
void intercommMergePhase1 (MPI_Comm nextIntraComm) noexcept
const ampiCommStructcomm2CommStruct (MPI_Comm comm) const noexcept
const ampiCommStructgetCommStruct () const noexcept
ampi * blockOnRecv () noexcept
ampi * blockOnColl () noexcept
void setBlockingReq (AmpiRequest *req) noexcept
MPI_Request postReq (AmpiRequest *newreq) noexcept
CMK_REFNUM_TYPE getSeqNo (int destRank, MPI_Comm destcomm, int tag) noexcept
AmpiMsg * makeBcastMsg (const void *buf, int count, MPI_Datatype type, int root, MPI_Comm destcomm) noexcept
AmpiMsg * makeAmpiMsg (int destRank, int t, int sRank, const void *buf, int count, MPI_Datatype type, MPI_Comm destcomm, int ssendReq=0) noexcept
MPI_Request send (int t, int s, const void *buf, int count, MPI_Datatype type, int rank, MPI_Comm destcomm, int ssendReq=0, AmpiSendType sendType=BLOCKING_SEND) noexcept
MPI_Request sendLocalMsg (int t, int sRank, const void *buf, int size, MPI_Datatype type, int destRank, MPI_Comm destcomm, ampi *destPtr, int ssendReq, AmpiSendType sendType) noexcept
MPI_Request sendRdmaMsg (int t, int sRank, const void *buf, int size, MPI_Datatype type, int destIdx, int destRank, MPI_Comm destcomm, CProxy_ampi arrProxy, int ssendReq) noexcept
bool destLikelyWithinProcess (CProxy_ampi arrProxy, int destIdx) const noexcept
MPI_Request delesend (int t, int s, const void *buf, int count, MPI_Datatype type, int rank, MPI_Comm destcomm, CProxy_ampi arrproxy, int ssend, AmpiSendType sendType) noexcept
void processAmpiMsg (AmpiMsg *msg, void *buf, MPI_Datatype type, int count) noexcept
void processRdmaMsg (const void *sbuf, int slength, int ssendReq, int srank, void *rbuf, int rcount, MPI_Datatype rtype, MPI_Comm comm) noexcept
void processRednMsg (CkReductionMsg *msg, void *buf, MPI_Datatype type, int count) noexcept
void processNoncommutativeRednMsg (CkReductionMsg *msg, void *buf, MPI_Datatype type, int count, MPI_User_function *func) noexcept
void processGatherMsg (CkReductionMsg *msg, void *buf, MPI_Datatype type, int recvCount) noexcept
void processGathervMsg (CkReductionMsg *msg, void *buf, MPI_Datatype type, int *recvCounts, int *displs) noexcept
AmpiMsg * getMessage (int t, int s, MPI_Comm comm, int *sts) const noexcept
int recv (int t, int s, void *buf, int count, MPI_Datatype type, MPI_Comm comm, MPI_Status *sts=NULL) noexcept
void irecv (void *buf, int count, MPI_Datatype type, int src, int tag, MPI_Comm comm, MPI_Request *request) noexcept
void mrecv (int tag, int src, void *buf, int count, MPI_Datatype datatype, MPI_Comm comm, MPI_Status *status, MPI_Message *message) noexcept
void imrecv (void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request *request, MPI_Message *message) noexcept
void irecvBcast (void *buf, int count, MPI_Datatype type, int src, MPI_Comm comm, MPI_Request *request) noexcept
void sendrecv (const void *sbuf, int scount, MPI_Datatype stype, int dest, int stag, void *rbuf, int rcount, MPI_Datatype rtype, int src, int rtag, MPI_Comm comm, MPI_Status *sts) noexcept
void sendrecv_replace (void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status) noexcept
void probe (int t, int s, MPI_Comm comm, MPI_Status *sts) noexcept
void mprobe (int t, int s, MPI_Comm comm, MPI_Status *sts, MPI_Message *message) noexcept
int iprobe (int t, int s, MPI_Comm comm, MPI_Status *sts) noexcept
int improbe (int t, int s, MPI_Comm comm, MPI_Status *sts, MPI_Message *message) noexcept
void barrier () noexcept
void ibarrier (MPI_Request *request) noexcept
void bcast (int root, void *buf, int count, MPI_Datatype type, MPI_Comm comm) noexcept
int intercomm_bcast (int root, void *buf, int count, MPI_Datatype type, MPI_Comm intercomm) noexcept
void ibcast (int root, void *buf, int count, MPI_Datatype type, MPI_Comm comm, MPI_Request *request) noexcept
int intercomm_ibcast (int root, void *buf, int count, MPI_Datatype type, MPI_Comm intercomm, MPI_Request *request) noexcept
void split (int color, int key, MPI_Comm *dest, int type) noexcept
void commCreate (const vector< int > &vec, MPI_Comm *newcomm) noexcept
MPI_Comm cartCreate0D () noexcept
MPI_Comm cartCreate (vector< int > &vec, int ndims, const int *dims) noexcept
void graphCreate (const vector< int > &vec, MPI_Comm *newcomm) noexcept
void distGraphCreate (const vector< int > &vec, MPI_Comm *newcomm) noexcept
void intercommCreate (const vector< int > &rvec, int root, MPI_Comm tcomm, MPI_Comm *ncomm) noexcept
bool isInter () const noexcept
void intercommMerge (int first, MPI_Comm *ncomm) noexcept
int getWorldRank () const noexcept
int getRank () const noexcept
 Return our rank in this communicator.
int getSize () const noexcept
MPI_Comm getComm () const noexcept
void setCommName (const char *name) noexcept
void getCommName (char *name, int *len) const noexcept
vector< intgetIndices () const noexcept
vector< intgetRemoteIndices () const noexcept
const CProxy_ampi & getProxy () const noexcept
const CProxy_ampi & getRemoteProxy () const noexcept
void setRemoteProxy (CProxy_ampi rproxy) noexcept
int getIndexForRank (int r) const noexcept
int getIndexForRemoteRank (int r) const noexcept
void findNeighbors (MPI_Comm comm, int rank, vector< int > &neighbors) const noexcept
const vector< int > & getNeighbors () const noexcept
bool opIsCommutative (MPI_Op op) const noexcept
MPI_User_functionop2User_function (MPI_Op op) const noexcept
void topoDup (int topoType, int rank, MPI_Comm comm, MPI_Comm *newcomm) noexcept
AmpiRequestListgetReqs () noexcept
CkDDTgetDDT () noexcept
CthThread getThread () const noexcept
MPI_Win createWinInstance (void *base, MPI_Aint size, int disp_unit, MPI_Info info) noexcept
int deleteWinInstance (MPI_Win win) noexcept
int winGetGroup (WinStruct *win, MPI_Group *group) const noexcept
int winPut (const void *orgaddr, int orgcnt, MPI_Datatype orgtype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, WinStruct *win) noexcept
int winGet (void *orgaddr, int orgcnt, MPI_Datatype orgtype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, WinStruct *win) noexcept
int winIget (MPI_Aint orgdisp, int orgcnt, MPI_Datatype orgtype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, WinStruct *win, MPI_Request *req) noexcept
int winIgetWait (MPI_Request *request, MPI_Status *status) noexcept
int winIgetFree (MPI_Request *request, MPI_Status *status) noexcept
void winRemotePut (int orgtotalsize, char *orgaddr, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, int winIndex) noexcept
char * winLocalGet (int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, int winIndex) noexcept
AmpiMsg * winRemoteGet (int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, int winIndex) noexcept
AmpiMsg * winRemoteIget (MPI_Aint orgdisp, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, int winIndex) noexcept
int winLock (int lock_type, int rank, WinStruct *win) noexcept
int winUnlock (int rank, WinStruct *win) noexcept
void winRemoteLock (int lock_type, int winIndex, int requestRank) noexcept
void winRemoteUnlock (int winIndex, int requestRank) noexcept
int winAccumulate (const void *orgaddr, int orgcnt, MPI_Datatype orgtype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, MPI_Op op, WinStruct *win) noexcept
void winRemoteAccumulate (int orgtotalsize, char *orgaddr, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, MPI_Op op, int winIndex) noexcept
int winGetAccumulate (const void *orgaddr, int orgcnt, MPI_Datatype orgtype, void *resaddr, int rescnt, MPI_Datatype restype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, MPI_Op op, WinStruct *win) noexcept
void winLocalGetAccumulate (int orgtotalsize, char *sorgaddr, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, MPI_Op op, char *resaddr, int winIndex) noexcept
AmpiMsg * winRemoteGetAccumulate (int orgtotalsize, char *sorgaddr, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, MPI_Op op, int winIndex) noexcept
int winCompareAndSwap (const void *orgaddr, const void *compaddr, void *resaddr, MPI_Datatype type, int rank, MPI_Aint targdisp, WinStruct *win) noexcept
char * winLocalCompareAndSwap (int size, char *sorgaddr, char *compaddr, MPI_Datatype type, MPI_Aint targdisp, int winIndex) noexcept
AmpiMsg * winRemoteCompareAndSwap (int size, char *sorgaddr, char *compaddr, MPI_Datatype type, MPI_Aint targdisp, int winIndex) noexcept
void winSetName (WinStruct *win, const char *name) noexcept
void winGetName (WinStruct *win, char *name, int *length) const noexcept
win_objgetWinObjInstance (WinStruct *win) const noexcept
int getNewSemaId () noexcept
int intercomm_scatter (int root, const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm intercomm) noexcept
int intercomm_iscatter (int root, const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm intercomm, MPI_Request *request) noexcept
int intercomm_scatterv (int root, const void *sendbuf, const int *sendcounts, const int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm intercomm) noexcept
int intercomm_iscatterv (int root, const void *sendbuf, const int *sendcounts, const int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm intercomm, MPI_Request *request) noexcept
 CkDDT_Contiguous ()
 ~CkDDT_Contiguous () override
CkDDT_Contiguous & operator= (const CkDDT_Contiguous &obj) noexcept
 CkDDT_Contiguous (int count, int index, CkDDT_DataType *oldType) noexcept
 CkDDT_Contiguous (const CkDDT_Contiguous &obj, MPI_Aint _lb, MPI_Aint _extent) noexcept
size_t serialize (char *userdata, char *buffer, int num, int msgLength, CkDDT_Dir dir) const noexcept override
void pupType (PUP::er &p, CkDDT *ddt) noexcept override
int getEnvelope (int *ni, int *na, int *nd, int *combiner) const noexcept override
int getContents (int ni, int na, int nd, int i[], MPI_Aint a[], int d[]) const noexcept override
int getNumBasicElements (int bytes) const noexcept override
 CkDDT_HVector ()
 ~CkDDT_HVector () override
CkDDT_HVector & operator= (const CkDDT_HVector &obj) noexcept
 CkDDT_HVector (int nCount, int blength, int strideLen, int index, CkDDT_DataType *type) noexcept
 CkDDT_HVector (const CkDDT_HVector &obj, MPI_Aint _lb, MPI_Aint _extent) noexcept
size_t serialize (char *userdata, char *buffer, int num, int msgLength, CkDDT_Dir dir) const noexcept override
void pupType (PUP::er &p, CkDDT *ddt) noexcept override
int getEnvelope (int *ni, int *na, int *nd, int *combiner) const noexcept override
int getContents (int ni, int na, int nd, int i[], MPI_Aint a[], int d[]) const noexcept override
int getNumBasicElements (int bytes) const noexcept override
 CkDDT_Indexed_Block ()
 ~CkDDT_Indexed_Block () override
CkDDT_Indexed_Block & operator= (const CkDDT_Indexed_Block &obj) noexcept
 CkDDT_Indexed_Block (int count, int Blength, const MPI_Aint *arrBytesDisp, const int *ArrDisp, int index, CkDDT_DataType *type) noexcept
 CkDDT_Indexed_Block (const CkDDT_Indexed_Block &obj, MPI_Aint _lb, MPI_Aint _extent) noexcept
size_t serialize (char *userdata, char *buffer, int num, int msgLength, CkDDT_Dir dir) const noexcept override
void pupType (PUP::er &p, CkDDT *ddt) noexcept override
int getEnvelope (int *ni, int *na, int *nd, int *combiner) const noexcept override
int getContents (int ni, int na, int nd, int i[], MPI_Aint a[], int d[]) const noexcept override
int getNumBasicElements (int bytes) const noexcept override
 CkDDT_Indexed ()
 ~CkDDT_Indexed () override
CkDDT_Indexed & operator= (const CkDDT_Indexed &obj) noexcept
 CkDDT_Indexed (int count, const int *arrBlock, const MPI_Aint *arrBytesDisp, const MPI_Aint *arrDisp, int index, CkDDT_DataType *type) noexcept
 CkDDT_Indexed (const CkDDT_Indexed &obj, MPI_Aint _lb, MPI_Aint _extent) noexcept
size_t serialize (char *userdata, char *buffer, int num, int msgLength, CkDDT_Dir dir) const noexcept override
void pupType (PUP::er &p, CkDDT *ddt) noexcept override
int getEnvelope (int *ni, int *na, int *nd, int *combiner) const noexcept override
int getContents (int ni, int na, int nd, int i[], MPI_Aint a[], int d[]) const noexcept override
int getNumBasicElements (int bytes) const noexcept override
 CkDDT_Struct ()
 ~CkDDT_Struct () override
CkDDT_Struct & operator= (const CkDDT_Struct &obj) noexcept
 CkDDT_Struct (int count, const int *arrBlock, const MPI_Aint *arrDisp, const int *index, CkDDT_DataType **type, const char *name=nullptr) noexcept
 CkDDT_Struct (const CkDDT_Struct &obj, MPI_Aint _lb, MPI_Aint _extent) noexcept
vector< int > & getBaseIndices () noexcept
const vector< int > & getBaseIndices () const noexcept
vector< CkDDT_DataType * > & getBaseTypes () noexcept
const vector< CkDDT_DataType * > & getBaseTypes () const noexcept
size_t serialize (char *userdata, char *buffer, int num, int msgLength, CkDDT_Dir dir) const noexcept override
void pupType (PUP::er &p, CkDDT *ddt) noexcept override
int getEnvelope (int *ni, int *na, int *nd, int *combiner) const noexcept override
int getContents (int ni, int na, int nd, int i[], MPI_Aint a[], int d[]) const noexcept override
int getNumBasicElements (int bytes) const noexcept override

Static Public Member Functions

static AmpiMsg * pup (PUP::er &p, AmpiMsg *m) noexcept
static void sendraw (int t, int s, void *buf, int len, CkArrayID aid, int idx) noexcept
static void bcastraw (void *buf, int len, CkArrayID aid) noexcept

Data Fields

bool cancelled = false
bool persistent = false
int length = 0
MPI_Op op = MPI_OP_NULL
vector< intrecvCounts
vector< intdispls
vector< MPI_Requestreqs
char * data
void * event
int eventPe
friend AmpiMsgPool
int numBlockedReqs
bool resumeOnRecv
bool resumeOnColl
AmpiRequestList ampiReqs
AmpiRequestPool reqPool
AmpiRequestblockingReq
CkDDT myDDT
bool ampiInitCallDone
std::unordered_map
< std::string, std::map< int,
int > > 
msgSizes
int pupBytes
gzFile fMsgLog
PUP::tozDisktoPUPer
PUP::fromzDiskfromPUPer
FILE * fMsgLog
PUP::toDisktoPUPer
PUP::fromDiskfromPUPer
Amm< AmpiRequest
*, AMPI_AMM_PT2PT_POOL_SIZE > 
postedReqs
Amm< AmpiMsg
*, AMPI_AMM_PT2PT_POOL_SIZE > 
unexpectedMsgs
Amm< AmpiRequest
*, AMPI_AMM_COLL_POOL_SIZE > 
postedBcastReqs
Amm< AmpiMsg
*, AMPI_AMM_COLL_POOL_SIZE > 
unexpectedBcastMsgs
vector< greq_class_descgreq_classes

Protected Attributes

vector< intarrayBlockLength
vector< MPI_AintarrayDisplacements
vector< intindex
vector< CkDDT_DataType * > arrayDataType

Private Member Functions

bool kv_set_builtin (int keyval, void *attribute_val) noexcept
bool kv_get_builtin (int keyval) noexcept
void inorder (AmpiMsg *msg) noexcept
void inorderBcast (AmpiMsg *msg, bool deleteMsg) noexcept
void inorderRdma (char *buf, int size, CMK_REFNUM_TYPE seq, int tag, int srcRank, MPI_Comm comm, int ssendReq) noexcept
void init () noexcept
void findParent (bool forMigration) noexcept
CProxy_ampi createNewChildAmpiSync () noexcept
void insertNewChildAmpiElements (MPI_Comm newComm, CProxy_ampi newAmpi) noexcept
void handleBlockedReq (AmpiRequest *req) noexcept
void resumeThreadIfReady () noexcept

Private Attributes

int ndims
vector< intdims
vector< intperiods
vector< intnbors
int nvertices
vector< intindex
vector< intedges
vector< intnbors
int inDegree
int outDegree
bool sourcesWeighted
bool destsWeighted
vector< intsources
vector< intsourceWeights
vector< intdestinations
vector< intdestWeights
vector< intnbors
MPI_Grequest_query_functionqueryFn
MPI_Grequest_free_functionfreeFn
MPI_Grequest_cancel_functioncancelFn
MPIX_Grequest_poll_functionpollFn
MPIX_Grequest_wait_functionwaitFn
void * extraState
int ssendReq
int tag
int srcRank
int origLength
MPI_Comm comm
TCharmthread
CProxy_TCharm threads
MPI_Comm worldNo
ampi * worldPtr
CkPupPtrVec< ampiCommStructsplitComm
CkPupPtrVec< ampiCommStructgroupComm
CkPupPtrVec< ampiCommStructcartComm
CkPupPtrVec< ampiCommStructgraphComm
CkPupPtrVec< ampiCommStructdistGraphComm
CkPupPtrVec< ampiCommStructinterComm
CkPupPtrVec< ampiCommStructintraComm
CkPupPtrVec< groupStructgroups
CkPupPtrVec< WinStructwinStructList
CkPupPtrVec< InfoStructinfos
const std::array
< MPI_User_function
*, AMPI_MAX_PREDEFINED_OP+1 > & 
predefinedOps
vector< OpStruct > userOps
vector< AmpiMsg * > matchedMsgs
intkv_builtin_storage
MPI_Aintwin_size_storage
void ** win_base_storage
CkPupPtrVec< KeyvalNodekvlist
void * bsendBuffer
int bsendBufferSize
bool isTmpRProxySet
CProxy_ampi tmpRProxy
MPI_MigrateFn userAboutToMigrateFn
MPI_MigrateFn userJustMigratedFn
ampiParent * parent
CProxy_ampiParent parentProxy
TCharmthread
int myRank
AmpiSeqQ oorder
ampiCommStruct myComm
vector< inttmpVec
CProxy_ampi remoteProxy
CkPupPtrVec< win_objwinObjects

Friends

class IReq
class SendReq
class SsendReq
class RednReq
class GatherReq
class GathervReq

Detailed Description

Definition at line 472 of file ampiimpl.h.


Constructor & Destructor Documentation

final::~IReq (  ) 

final::~RednReq (  ) 

final::~GatherReq (  ) 

final::~GathervReq (  ) 

final::~SendReq (  )  [inline]

Definition at line 1378 of file ampiimpl.h.

final::~SsendReq (  ) 

final::~ATAReq (  ) 

final::~GReq (  )  [inline]

Definition at line 1502 of file ampiimpl.h.

final::~ampiParent (  ) 

final::~ampi (  ) 

final::~CkDDT_Contiguous (  )  [override]

final::~CkDDT_HVector (  )  [override]

final::~CkDDT_Indexed_Block (  )  [override]

final::~CkDDT_Indexed (  )  [override]

final::~CkDDT_Struct (  )  [override]


Member Function Documentation

final::ampiCartTopology (  )  [inline]

Definition at line 478 of file ampiimpl.h.

void final::pup ( PUP::er p  )  [inline, virtual]

Implements ampiTopology.

Definition at line 480 of file ampiimpl.h.

References dims, ndims, p, and periods.

int final::getType (  )  const [inline, virtual]

Implements ampiTopology.

Definition at line 487 of file ampiimpl.h.

void final::dup ( ampiTopology topo  )  [inline, virtual]

Implements ampiTopology.

Definition at line 488 of file ampiimpl.h.

const vector<int>& final::getdims (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 496 of file ampiimpl.h.

References dims.

const vector<int>& final::getperiods (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 497 of file ampiimpl.h.

References periods.

int final::getndims (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 498 of file ampiimpl.h.

References ndims.

const vector<int>& final::getnbors (  )  const [inline, virtual]

Implements ampiTopology.

Definition at line 499 of file ampiimpl.h.

void final::setdims ( const vector< int > &  d  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 501 of file ampiimpl.h.

References PUP::d, and dims.

void final::setperiods ( const vector< int > &  p  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 502 of file ampiimpl.h.

References p, and periods.

void final::setndims ( int  nd  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 503 of file ampiimpl.h.

References ndims.

void final::setnbors ( const vector< int > &  n  )  [inline, virtual]

Implements ampiTopology.

Definition at line 504 of file ampiimpl.h.

References n.

final::ampiGraphTopology (  )  [inline]

Definition at line 513 of file ampiimpl.h.

void final::pup ( PUP::er p  )  [inline, virtual]

Implements ampiTopology.

Definition at line 515 of file ampiimpl.h.

References edges, index, and p.

int final::getType (  )  const [inline, virtual]

Implements ampiTopology.

Definition at line 522 of file ampiimpl.h.

void final::dup ( ampiTopology topo  )  [inline, virtual]

Implements ampiTopology.

Definition at line 523 of file ampiimpl.h.

int final::getnvertices (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 531 of file ampiimpl.h.

const vector<int>& final::getindex (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 532 of file ampiimpl.h.

References index.

const vector<int>& final::getedges (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 533 of file ampiimpl.h.

References edges.

const vector<int>& final::getnbors (  )  const [inline, virtual]

Implements ampiTopology.

Definition at line 534 of file ampiimpl.h.

void final::setnvertices ( int  nv  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 536 of file ampiimpl.h.

void final::setindex ( const vector< int > &  i  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 537 of file ampiimpl.h.

References index.

void final::setedges ( const vector< int > &  e  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 538 of file ampiimpl.h.

References edges.

void final::setnbors ( const vector< int > &  n  )  [inline, virtual]

Implements ampiTopology.

Definition at line 539 of file ampiimpl.h.

References n.

final::ampiDistGraphTopology (  )  [inline]

Definition at line 549 of file ampiimpl.h.

void final::pup ( PUP::er p  )  [inline, virtual]

Implements ampiTopology.

Definition at line 551 of file ampiimpl.h.

References p, and sources.

int final::getType (  )  const [inline, virtual]

Implements ampiTopology.

Definition at line 563 of file ampiimpl.h.

void final::dup ( ampiTopology topo  )  [inline, virtual]

Implements ampiTopology.

Definition at line 564 of file ampiimpl.h.

int final::getInDegree (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 577 of file ampiimpl.h.

const vector<int>& final::getSources (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 578 of file ampiimpl.h.

References sources.

const vector<int>& final::getSourceWeights (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 579 of file ampiimpl.h.

int final::getOutDegree (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 580 of file ampiimpl.h.

const vector<int>& final::getDestinations (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 581 of file ampiimpl.h.

const vector<int>& final::getDestWeights (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 582 of file ampiimpl.h.

bool final::areSourcesWeighted (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 583 of file ampiimpl.h.

bool final::areDestsWeighted (  )  const [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 584 of file ampiimpl.h.

const vector<int>& final::getnbors (  )  const [inline, virtual]

Implements ampiTopology.

Definition at line 585 of file ampiimpl.h.

void final::setAreSourcesWeighted ( bool  v  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 587 of file ampiimpl.h.

void final::setAreDestsWeighted ( bool  v  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 588 of file ampiimpl.h.

void final::setInDegree ( int  d  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 589 of file ampiimpl.h.

References PUP::d.

void final::setSources ( const vector< int > &  s  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 590 of file ampiimpl.h.

References PUP::s, and sources.

void final::setSourceWeights ( const vector< int > &  sw  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 591 of file ampiimpl.h.

void final::setOutDegree ( int  d  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 592 of file ampiimpl.h.

References PUP::d.

void final::setDestinations ( const vector< int > &  d  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 593 of file ampiimpl.h.

References PUP::d.

void final::setDestWeights ( const vector< int > &  dw  )  [inline, virtual]

Reimplemented from ampiTopology.

Definition at line 594 of file ampiimpl.h.

void final::setnbors ( const vector< int > &  nbors_  )  [inline, virtual]

Implements ampiTopology.

Definition at line 595 of file ampiimpl.h.

final::IReq ( void *  buf_,
int  count_,
MPI_Datatype  type_,
int  src_,
int  tag_,
MPI_Comm  comm_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1225 of file ampiimpl.h.

References buf, comm, count, src, tag, and type.

final::IReq (  ) 

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

void final::cancel (  )  [inline, override, virtual]

Mark this request for cancellation.

Supported only for IReq requests

Reimplemented from AmpiRequest.

Definition at line 1240 of file ampiimpl.h.

References complete.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1241 of file ampiimpl.h.

References AMPI_I_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1242 of file ampiimpl.h.

References complete.

bool final::isPooledType (  )  const [inline, override, virtual]

Returns whether this type is pooled or not: Only AMPI_I_REQ, AMPI_SEND_REQ, and AMPI_SSEND_REQs are pooled.

Reimplemented from AmpiRequest.

Definition at line 1243 of file ampiimpl.h.

void final::setPersistent ( bool  p  )  [inline, override, virtual]

Mark this request persistent.

Supported only for IReq, SendReq, and SsendReq requests

Reimplemented from AmpiRequest.

Definition at line 1244 of file ampiimpl.h.

References p.

bool final::isPersistent (  )  const [inline, override, virtual]

Reimplemented from AmpiRequest.

Definition at line 1245 of file ampiimpl.h.

void final::start ( MPI_Request  reqIdx  )  [override, virtual]

Activate this persistent request.

Only meaningful for persistent Ireq, SendReq, and SsendReq requests.

Reimplemented from AmpiRequest.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [inline, override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

Definition at line 1248 of file ampiimpl.h.

void final::receiveRdma ( ampi *  ptr,
char *  sbuf,
int  slength,
int  ssendReq,
int  srcRank,
MPI_Comm  scomm 
) [override, virtual]

Receive an Rdma message.

Reimplemented from AmpiRequest.

int final::getNumReceivedBytes ( CkDDT ddt  )  const [inline, override, virtual]

Return the actual number of bytes that were received.

Reimplemented from AmpiRequest.

Definition at line 1250 of file ampiimpl.h.

References length.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1253 of file ampiimpl.h.

References length, p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::RednReq ( void *  buf_,
int  count_,
MPI_Datatype  type_,
MPI_Comm  comm_,
MPI_Op  op_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1266 of file ampiimpl.h.

References buf, comm, count, src, tag, and type.

final::RednReq (  ) 

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

void final::cancel (  )  [inline, override, virtual]

Mark this request for cancellation.

Supported only for IReq requests

Reimplemented from AmpiRequest.

Definition at line 1282 of file ampiimpl.h.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1283 of file ampiimpl.h.

References AMPI_REDN_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1284 of file ampiimpl.h.

References complete.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [inline, override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

Definition at line 1285 of file ampiimpl.h.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1287 of file ampiimpl.h.

References p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::GatherReq ( void *  buf_,
int  count_,
MPI_Datatype  type_,
MPI_Comm  comm_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1296 of file ampiimpl.h.

References buf, comm, count, src, tag, and type.

final::GatherReq (  ) 

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

void final::cancel (  )  [inline, override, virtual]

Mark this request for cancellation.

Supported only for IReq requests

Reimplemented from AmpiRequest.

Definition at line 1311 of file ampiimpl.h.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1312 of file ampiimpl.h.

References AMPI_GATHER_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1313 of file ampiimpl.h.

References complete.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [inline, override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

Definition at line 1314 of file ampiimpl.h.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1316 of file ampiimpl.h.

References p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::GathervReq ( void *  buf_,
int  count_,
MPI_Datatype  type_,
MPI_Comm  comm_,
const int rc,
const int d,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1327 of file ampiimpl.h.

References buf, comm, count, src, tag, and type.

final::GathervReq (  ) 

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1344 of file ampiimpl.h.

References AMPI_GATHERV_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1345 of file ampiimpl.h.

References complete.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [inline, override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

Definition at line 1346 of file ampiimpl.h.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1348 of file ampiimpl.h.

References p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::SendReq ( MPI_Datatype  type_,
MPI_Comm  comm_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1360 of file ampiimpl.h.

References comm, and type.

final::SendReq ( void *  buf_,
int  count_,
MPI_Datatype  type_,
int  dest_,
int  tag_,
MPI_Comm  comm_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1366 of file ampiimpl.h.

References buf, comm, count, src, tag, and type.

final::SendReq (  )  [inline]

Definition at line 1377 of file ampiimpl.h.

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

void final::setPersistent ( bool  p  )  [inline, override, virtual]

Mark this request persistent.

Supported only for IReq, SendReq, and SsendReq requests

Reimplemented from AmpiRequest.

Definition at line 1381 of file ampiimpl.h.

References p.

bool final::isPersistent (  )  const [inline, override, virtual]

Reimplemented from AmpiRequest.

Definition at line 1382 of file ampiimpl.h.

void final::start ( MPI_Request  reqIdx  )  [override, virtual]

Activate this persistent request.

Only meaningful for persistent Ireq, SendReq, and SsendReq requests.

Reimplemented from AmpiRequest.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [inline, override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

Definition at line 1384 of file ampiimpl.h.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [inline, override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

Definition at line 1385 of file ampiimpl.h.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1386 of file ampiimpl.h.

References AMPI_SEND_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1387 of file ampiimpl.h.

bool final::isPooledType (  )  const [inline, override, virtual]

Returns whether this type is pooled or not: Only AMPI_I_REQ, AMPI_SEND_REQ, and AMPI_SSEND_REQs are pooled.

Reimplemented from AmpiRequest.

Definition at line 1388 of file ampiimpl.h.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1389 of file ampiimpl.h.

References p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::SsendReq ( MPI_Datatype  type_,
MPI_Comm  comm_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1401 of file ampiimpl.h.

References comm, and type.

final::SsendReq ( void *  buf_,
int  count_,
MPI_Datatype  type_,
int  dest_,
int  tag_,
MPI_Comm  comm_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1407 of file ampiimpl.h.

References buf, comm, count, src, tag, and type.

final::SsendReq ( void *  buf_,
int  count_,
MPI_Datatype  type_,
int  dest_,
int  tag_,
MPI_Comm  comm_,
int  src_,
CkDDT ddt_,
AmpiReqSts  sts_ = AMPI_REQ_PENDING 
) [inline]

Definition at line 1418 of file ampiimpl.h.

References buf, comm, count, src, tag, and type.

final::SsendReq (  ) 

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

void final::setPersistent ( bool  p  )  [inline, override, virtual]

Mark this request persistent.

Supported only for IReq, SendReq, and SsendReq requests

Reimplemented from AmpiRequest.

Definition at line 1433 of file ampiimpl.h.

References p.

bool final::isPersistent (  )  const [inline, override, virtual]

Reimplemented from AmpiRequest.

Definition at line 1434 of file ampiimpl.h.

void final::start ( MPI_Request  reqIdx  )  [override, virtual]

Activate this persistent request.

Only meaningful for persistent Ireq, SendReq, and SsendReq requests.

Reimplemented from AmpiRequest.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [inline, override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

Definition at line 1436 of file ampiimpl.h.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [inline, override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

Definition at line 1437 of file ampiimpl.h.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1438 of file ampiimpl.h.

References AMPI_SSEND_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1439 of file ampiimpl.h.

bool final::isPooledType (  )  const [inline, override, virtual]

Returns whether this type is pooled or not: Only AMPI_I_REQ, AMPI_SEND_REQ, and AMPI_SSEND_REQs are pooled.

Reimplemented from AmpiRequest.

Definition at line 1440 of file ampiimpl.h.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1441 of file ampiimpl.h.

References p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::ATAReq ( int  numReqs_  )  [inline]

Definition at line 1468 of file ampiimpl.h.

final::ATAReq (  ) 

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [inline, override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

Definition at line 1473 of file ampiimpl.h.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [inline, override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

Definition at line 1474 of file ampiimpl.h.

int final::getCount ( void   )  const [inline]

Reimplemented from CkDDT_DataType.

Definition at line 1475 of file ampiimpl.h.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1476 of file ampiimpl.h.

References AMPI_ATA_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1477 of file ampiimpl.h.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1478 of file ampiimpl.h.

References p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::GReq ( MPI_Grequest_query_function q,
MPI_Grequest_free_function f,
MPI_Grequest_cancel_function c,
void *  es 
) [inline]

Definition at line 1495 of file ampiimpl.h.

final::GReq ( MPI_Grequest_query_function q,
MPI_Grequest_free_function f,
MPI_Grequest_cancel_function c,
MPIX_Grequest_poll_function p,
void *  es 
) [inline]

Definition at line 1497 of file ampiimpl.h.

Definition at line 1499 of file ampiimpl.h.

final::GReq (  ) 

bool final::test ( MPI_Status sts = MPI_STATUS_IGNORE  )  [override, virtual]

Return true if this request is finished (progress):.

Implements AmpiRequest.

int final::wait ( MPI_Status sts  )  [override, virtual]

Block until this request is finished, returning a valid MPI error code.

Implements AmpiRequest.

void final::receive ( ampi *  ptr,
AmpiMsg *  msg,
bool  deleteMsg = true 
) [inline, override, virtual]

Receive an AmpiMsg.

Implements AmpiRequest.

Definition at line 1505 of file ampiimpl.h.

void final::receive ( ampi *  ptr,
CkReductionMsg msg 
) [inline, override, virtual]

Receive a CkReductionMsg.

Implements AmpiRequest.

Definition at line 1506 of file ampiimpl.h.

void final::cancel (  )  [inline, override, virtual]

Mark this request for cancellation.

Supported only for IReq requests

Reimplemented from AmpiRequest.

Definition at line 1507 of file ampiimpl.h.

References complete.

AmpiReqType final::getType (  )  const [inline, override, virtual]

Implements ampiTopology.

Definition at line 1508 of file ampiimpl.h.

References AMPI_G_REQ.

bool final::isUnmatched (  )  const [inline, override, virtual]

Returns whether this request will need to be matched.

It is used to determine whether this request should be inserted into postedReqs. AMPI_SEND_REQ, AMPI_SSEND_REQ, and AMPI_ATA_REQ should not be posted.

Implements AmpiRequest.

Definition at line 1509 of file ampiimpl.h.

void final::pup ( PUP::er p  )  [inline, override, virtual]

Implements ampiTopology.

Definition at line 1510 of file ampiimpl.h.

References p, and AmpiRequest::pup().

Here is the call graph for this function:

void final::print (  )  const [override, virtual]

Implements AmpiRequest.

final::AmpiMsg (  )  [inline]

Definition at line 1629 of file ampiimpl.h.

References data.

final::AmpiMsg ( int  sreq,
int  t,
int  sRank,
int  l 
) [inline]

Definition at line 1630 of file ampiimpl.h.

final::AmpiMsg ( CMK_REFNUM_TYPE  seq,
int  sreq,
int  t,
int  sRank,
int  l 
) [inline]

Definition at line 1633 of file ampiimpl.h.

References CkSetRefNum().

Here is the call graph for this function:

void final::setSsendReq ( int  s  )  [inline]

Definition at line 1636 of file ampiimpl.h.

References PUP::s.

void final::setSeq ( CMK_REFNUM_TYPE  s  )  [inline]

Definition at line 1637 of file ampiimpl.h.

References PUP::s, envelope::setRef(), and UsrToEnv().

Here is the call graph for this function:

void final::setSrcRank ( int  sr  )  [inline]

Definition at line 1638 of file ampiimpl.h.

References srcRank.

void final::setLength ( int  l  )  [inline]

Definition at line 1639 of file ampiimpl.h.

References PUP::l, and length.

void final::setTag ( int  t  )  [inline]

Definition at line 1640 of file ampiimpl.h.

References PUP::t, and tag.

void final::setComm ( MPI_Comm  c  )  [inline]

Definition at line 1641 of file ampiimpl.h.

References c, and comm.

CMK_REFNUM_TYPE final::getSeq (  )  const [inline]

Definition at line 1642 of file ampiimpl.h.

References envelope::getRef(), and UsrToEnv().

Here is the call graph for this function:

int final::getSsendReq (  )  const [inline]

Definition at line 1643 of file ampiimpl.h.

int final::getSeqIdx (  )  const [inline]

Definition at line 1644 of file ampiimpl.h.

References srcRank, and tag.

int final::getSrcRank (  )  const [inline, virtual]

Reimplemented from AmpiRequest.

Definition at line 1653 of file ampiimpl.h.

References srcRank.

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

Definition at line 1654 of file ampiimpl.h.

References length.

char* final::getData ( void   )  const [inline]

Definition at line 1655 of file ampiimpl.h.

References data.

int final::getTag (  )  const [inline, virtual]

Used by AmmEntry's constructor.

Reimplemented from AmpiRequest.

Definition at line 1656 of file ampiimpl.h.

References tag.

MPI_Comm final::getComm (  )  const [inline]

Definition at line 1657 of file ampiimpl.h.

References comm.

static AmpiMsg* final::pup ( PUP::er p,
AmpiMsg *  m 
) [inline, static]

Definition at line 1658 of file ampiimpl.h.

References CkGetRefNum(), comm, length, PUP::m, p, srcRank, and tag.

Here is the call graph for this function:

bool final::kv_set_builtin ( int  keyval,
void *  attribute_val 
) [private]

bool final::kv_get_builtin ( int  keyval  )  [private]

void final::prepareCtv (  ) 

MPI_Message final::putMatchedMsg ( AmpiMsg *  msg  )  [inline]

Definition at line 1979 of file ampiimpl.h.

AmpiMsg* final::getMatchedMsg ( MPI_Message  message  )  [inline]

Definition at line 1991 of file ampiimpl.h.

References message.

void final::attachBuffer ( void *  buffer,
int  size 
) [inline]

Definition at line 2005 of file ampiimpl.h.

References Amm< T, N >::size().

Here is the call graph for this function:

void final::detachBuffer ( void *  buffer,
int size 
) [inline]

Definition at line 2009 of file ampiimpl.h.

References Amm< T, N >::size().

Here is the call graph for this function:

bool final::isSplit ( MPI_Comm  comm  )  const [inline]

Definition at line 2013 of file ampiimpl.h.

References comm.

const ampiCommStruct& final::getSplit ( MPI_Comm  comm  )  const [inline]

Definition at line 2016 of file ampiimpl.h.

References comm, and idx.

void final::splitChildRegister ( const ampiCommStruct s  ) 

bool final::isGroup ( MPI_Comm  comm  )  const [inline]

Definition at line 2023 of file ampiimpl.h.

References comm.

const ampiCommStruct& final::getGroup ( MPI_Comm  comm  )  const [inline]

Definition at line 2026 of file ampiimpl.h.

References comm, and idx.

void final::groupChildRegister ( const ampiCommStruct s  ) 

bool final::isInGroups ( MPI_Group  group  )  const [inline]

Definition at line 2032 of file ampiimpl.h.

References group.

void final::cartChildRegister ( const ampiCommStruct s  ) 

void final::graphChildRegister ( const ampiCommStruct s  ) 

void final::distGraphChildRegister ( const ampiCommStruct s  ) 

void final::interChildRegister ( const ampiCommStruct s  ) 

void final::intraChildRegister ( const ampiCommStruct s  ) 

final::ampiParent ( MPI_Comm  worldNo_,
CProxy_TCharm  threads_,
int  nRanks_ 
)

final::ampiParent ( CkMigrateMessage msg  ) 

void final::ckAboutToMigrate (  ) 

void final::ckJustMigrated (  ) 

void final::ckJustRestored (  ) 

void final::setUserAboutToMigrateFn ( MPI_MigrateFn  f  ) 

void final::setUserJustMigratedFn ( MPI_MigrateFn  f  ) 

TCharm* final::registerAmpi ( ampi *  ptr,
ampiCommStruct  s,
bool  forMigration 
)

void final::ExchangeProxy ( CProxy_ampi  rproxy  )  [inline]

Definition at line 2056 of file ampiimpl.h.

MPI_Comm final::getNextSplit (  )  const [inline]

Definition at line 2062 of file ampiimpl.h.

References ampiCommStruct::size.

MPI_Comm final::getNextGroup (  )  const [inline]

Definition at line 2063 of file ampiimpl.h.

References ampiCommStruct::size.

MPI_Comm final::getNextCart (  )  const [inline]

Definition at line 2064 of file ampiimpl.h.

References ampiCommStruct::size.

MPI_Comm final::getNextGraph (  )  const [inline]

Definition at line 2065 of file ampiimpl.h.

References ampiCommStruct::size.

MPI_Comm final::getNextDistGraph (  )  const [inline]

Definition at line 2066 of file ampiimpl.h.

References ampiCommStruct::size.

MPI_Comm final::getNextInter (  )  const [inline]

Definition at line 2067 of file ampiimpl.h.

References ampiCommStruct::size.

MPI_Comm final::getNextIntra (  )  const [inline]

Definition at line 2068 of file ampiimpl.h.

References ampiCommStruct::size.

bool final::isCart ( MPI_Comm  comm  )  const [inline]

Definition at line 2070 of file ampiimpl.h.

References comm.

ampiCommStruct& final::getCart ( MPI_Comm  comm  )  const [inline]

Definition at line 2073 of file ampiimpl.h.

References comm, and idx.

bool final::isGraph ( MPI_Comm  comm  )  const [inline]

Definition at line 2078 of file ampiimpl.h.

References comm.

ampiCommStruct& final::getGraph ( MPI_Comm  comm  )  const [inline]

Definition at line 2081 of file ampiimpl.h.

References comm, and idx.

bool final::isDistGraph ( MPI_Comm  comm  )  const [inline]

Definition at line 2086 of file ampiimpl.h.

References comm.

ampiCommStruct& final::getDistGraph ( MPI_Comm  comm  )  const [inline]

Definition at line 2089 of file ampiimpl.h.

References comm, and idx.

bool final::isInter ( MPI_Comm  comm  )  const [inline]

Definition at line 2094 of file ampiimpl.h.

References comm.

const ampiCommStruct& final::getInter ( MPI_Comm  comm  )  const [inline]

Definition at line 2097 of file ampiimpl.h.

References comm, and idx.

bool final::isIntra ( MPI_Comm  comm  )  const [inline]

Definition at line 2102 of file ampiimpl.h.

References comm.

const ampiCommStruct& final::getIntra ( MPI_Comm  comm  )  const [inline]

Definition at line 2105 of file ampiimpl.h.

References comm, and idx.

void final::pup ( PUP::er p  )  [virtual]

Implements ampiTopology.

void final::startCheckpoint ( const char *  dname  ) 

void final::Checkpoint ( int  len,
const char *  dname 
)

void final::ResumeThread (  ) 

TCharm* final::getTCharmThread (  )  const [inline]

Definition at line 2116 of file ampiimpl.h.

ampiParent* final::blockOnRecv (  )  [inline]

CkDDT* final::getDDT (  )  [inline]

Definition at line 2118 of file ampiimpl.h.

void final::setMigratable ( bool  mig  )  [inline]

Definition at line 2121 of file ampiimpl.h.

const ampiCommStruct& final::getWorldStruct (  )  const

const ampiCommStruct& final::comm2CommStruct ( MPI_Comm  comm  )  const [inline]

Definition at line 2128 of file ampiimpl.h.

References comm, and universeComm2CommStruct().

Here is the call graph for this function:

vector<int>& final::getKeyvals ( MPI_Comm  comm  )  [inline]

Definition at line 2141 of file ampiimpl.h.

References comm, and ampiCommStruct::getKeyvals().

Here is the call graph for this function:

ampi* final::comm2ampi ( MPI_Comm  comm  )  const [inline]

Definition at line 2146 of file ampiimpl.h.

References comm, and ampiCommStruct::getProxy().

Here is the call graph for this function:

bool final::hasComm ( const MPI_Group  group  )  const [inline]

Definition at line 2182 of file ampiimpl.h.

References comm, and group.

vector<int> final::group2vec ( MPI_Group  group  )  const [inline]

Definition at line 2188 of file ampiimpl.h.

References ampiCommStruct::getIndices(), and group.

Here is the call graph for this function:

MPI_Group final::saveGroupStruct ( const vector< int > &  vec  )  [inline]

Definition at line 2200 of file ampiimpl.h.

References idx.

int final::getRank ( const MPI_Group  group  )  const [inline]

Definition at line 2207 of file ampiimpl.h.

References getPosOp(), and group.

Here is the call graph for this function:

AmpiRequestList& final::getReqs (  )  [inline]

Definition at line 2211 of file ampiimpl.h.

int final::getMyPe (  )  const [inline]

Definition at line 2212 of file ampiimpl.h.

References Converse::CkMyPe().

Here is the call graph for this function:

bool final::hasWorld (  )  const [inline]

Definition at line 2215 of file ampiimpl.h.

void final::checkComm ( MPI_Comm  comm  )  const [inline]

Definition at line 2219 of file ampiimpl.h.

References comm.

MPI_Group final::comm2group ( const MPI_Comm  comm  )  const [inline]

if intra-communicator, return comm, otherwise return null group

Definition at line 2232 of file ampiimpl.h.

References comm, ampiCommStruct::getComm(), and PUP::s.

Here is the call graph for this function:

int final::getRemoteSize ( const MPI_Comm  comm  )  const [inline]

Definition at line 2239 of file ampiimpl.h.

References comm, and ampiCommStruct::getRemoteIndices().

Here is the call graph for this function:

MPI_Group final::getRemoteGroup ( const MPI_Comm  comm  )  [inline]

Definition at line 2243 of file ampiimpl.h.

References comm.

int final::createKeyval ( MPI_Copy_function copy_fn,
MPI_Delete_function delete_fn,
int keyval,
void *  extra_state 
)

bool final::getBuiltinKeyval ( int  keyval,
void *  attribute_val 
)

int final::setUserKeyval ( MPI_Comm  comm,
int  keyval,
void *  attribute_val 
)

bool final::getUserKeyval ( MPI_Comm  comm,
vector< int > &  keyvals,
int  keyval,
void *  attribute_val,
int flag 
)

int final::dupUserKeyvals ( MPI_Comm  old_comm,
MPI_Comm  new_comm 
)

int final::freeUserKeyval ( int  context,
vector< int > &  keyvals,
int keyval 
)

int final::freeUserKeyvals ( int  context,
vector< int > &  keyvals 
)

int final::setAttr ( MPI_Comm  comm,
vector< int > &  keyvals,
int  keyval,
void *  attribute_val 
)

int final::getAttr ( MPI_Comm  comm,
vector< int > &  keyvals,
int  keyval,
void *  attribute_val,
int flag 
)

int final::deleteAttr ( MPI_Comm  comm,
vector< int > &  keyvals,
int  keyval 
)

int final::addWinStruct ( WinStruct win  ) 

WinStruct* final::getWinStruct ( MPI_Win  win  )  const

void final::removeWinStruct ( WinStruct win  ) 

int final::createInfo ( MPI_Info newinfo  ) 

int final::dupInfo ( MPI_Info  info,
MPI_Info newinfo 
)

int final::setInfo ( MPI_Info  info,
const char *  key,
const char *  value 
)

int final::deleteInfo ( MPI_Info  info,
const char *  key 
)

int final::getInfo ( MPI_Info  info,
const char *  key,
int  valuelen,
char *  value,
int flag 
) const

int final::getInfoValuelen ( MPI_Info  info,
const char *  key,
int valuelen,
int flag 
) const

int final::getInfoNkeys ( MPI_Info  info,
int nkeys 
) const

int final::getInfoNthkey ( MPI_Info  info,
int  n,
char *  key 
) const

int final::freeInfo ( MPI_Info  info  ) 

void final::defineInfoEnv ( int  nRanks_  ) 

void final::defineInfoMigration (  ) 

int final::createOp ( MPI_User_function fn,
bool  isCommutative 
) [inline]

Definition at line 2281 of file ampiimpl.h.

References ampiCommStruct::size.

void final::freeOp ( MPI_Op  op  )  [inline]

Definition at line 2293 of file ampiimpl.h.

bool final::opIsPredefined ( MPI_Op  op  )  const [inline]

Definition at line 2305 of file ampiimpl.h.

bool final::opIsCommutative ( MPI_Op  op  )  const [inline]

Definition at line 2308 of file ampiimpl.h.

MPI_User_function* final::op2User_function ( MPI_Op  op  )  const [inline]

Definition at line 2318 of file ampiimpl.h.

AmpiOpHeader final::op2AmpiOpHeader ( MPI_Op  op,
MPI_Datatype  type,
int  count 
) const [inline]

Definition at line 2328 of file ampiimpl.h.

References count, Amm< T, N >::size(), and type.

Here is the call graph for this function:

void final::applyOp ( MPI_Datatype  datatype,
MPI_Op  op,
int  count,
const void *  invec,
void *  inoutvec 
) const [inline]

Definition at line 2340 of file ampiimpl.h.

References count, and datatype.

void final::init (  ) 

void final::finalize (  ) 

void final::block (  ) 

void final::yield (  ) 

bool final::isRankRecordingMsgSizes (  )  [inline]

void final::recordMsgSize ( const char *  func,
int  msgSize 
) [inline]

void final::printMsgSizes (  ) 

void final::inorder ( AmpiMsg *  msg  )  [private]

void final::inorderBcast ( AmpiMsg *  msg,
bool  deleteMsg 
) [private]

void final::inorderRdma ( char *  buf,
int  size,
CMK_REFNUM_TYPE  seq,
int  tag,
int  srcRank,
MPI_Comm  comm,
int  ssendReq 
) [private]

void final::init (  )  [private]

void final::findParent ( bool  forMigration  )  [private]

final::ampi (  ) 

final::ampi ( CkArrayID  parent_,
const ampiCommStruct s 
)

final::ampi ( CkMigrateMessage msg  ) 

void final::ckJustMigrated (  ) 

void final::ckJustRestored (  ) 

void final::pup ( PUP::er p  )  [virtual]

Implements ampiTopology.

void final::allInitDone (  ) 

void final::setInitDoneFlag (  ) 

void final::unblock (  ) 

void final::injectMsg ( int  size,
char *  buf 
)

void final::generic ( AmpiMsg *   ) 

void final::genericRdma ( char *  buf,
int  size,
CMK_REFNUM_TYPE  seq,
int  tag,
int  srcRank,
MPI_Comm  destcomm,
int  ssendReq 
)

void final::completedRdmaSend ( CkDataMsg msg  ) 

void final::ssend_ack ( int  sreq  ) 

void final::barrierResult (  ) 

void final::ibarrierResult (  ) 

void final::bcastResult ( AmpiMsg *  msg  ) 

void final::rednResult ( CkReductionMsg msg  ) 

void final::irednResult ( CkReductionMsg msg  ) 

void final::splitPhase1 ( CkReductionMsg msg  ) 

void final::splitPhaseInter ( CkReductionMsg msg  ) 

void final::commCreatePhase1 ( MPI_Comm  nextGroupComm  ) 

void final::intercommCreatePhase1 ( MPI_Comm  nextInterComm  ) 

void final::intercommMergePhase1 ( MPI_Comm  nextIntraComm  ) 

CProxy_ampi final::createNewChildAmpiSync (  )  [private]

void final::insertNewChildAmpiElements ( MPI_Comm  newComm,
CProxy_ampi  newAmpi 
) [private]

void final::handleBlockedReq ( AmpiRequest req  )  [inline, private]

Definition at line 2479 of file ampiimpl.h.

References parent().

Here is the call graph for this function:

void final::resumeThreadIfReady (  )  [inline, private]

Definition at line 2484 of file ampiimpl.h.

References parent().

Here is the call graph for this function:

const ampiCommStruct& final::comm2CommStruct ( MPI_Comm  comm  )  const [inline]

Definition at line 2491 of file ampiimpl.h.

References comm, and parent().

Here is the call graph for this function:

const ampiCommStruct& final::getCommStruct (  )  const [inline]

Definition at line 2494 of file ampiimpl.h.

ampi* final::blockOnRecv (  )  [inline]

ampi* final::blockOnColl (  )  [inline]

void final::setBlockingReq ( AmpiRequest req  )  [inline]

MPI_Request final::postReq ( AmpiRequest newreq  ) 

CMK_REFNUM_TYPE final::getSeqNo ( int  destRank,
MPI_Comm  destcomm,
int  tag 
) [inline]

AmpiMsg* final::makeBcastMsg ( const void *  buf,
int  count,
MPI_Datatype  type,
int  root,
MPI_Comm  destcomm 
)

AmpiMsg* final::makeAmpiMsg ( int  destRank,
int  t,
int  sRank,
const void *  buf,
int  count,
MPI_Datatype  type,
MPI_Comm  destcomm,
int  ssendReq = 0 
)

MPI_Request final::send ( int  t,
int  s,
const void *  buf,
int  count,
MPI_Datatype  type,
int  rank,
MPI_Comm  destcomm,
int  ssendReq = 0,
AmpiSendType  sendType = BLOCKING_SEND 
)

static void final::sendraw ( int  t,
int  s,
void *  buf,
int  len,
CkArrayID  aid,
int  idx 
) [static]

MPI_Request final::sendLocalMsg ( int  t,
int  sRank,
const void *  buf,
int  size,
MPI_Datatype  type,
int  destRank,
MPI_Comm  destcomm,
ampi *  destPtr,
int  ssendReq,
AmpiSendType  sendType 
) [inline]

MPI_Request final::sendRdmaMsg ( int  t,
int  sRank,
const void *  buf,
int  size,
MPI_Datatype  type,
int  destIdx,
int  destRank,
MPI_Comm  destcomm,
CProxy_ampi  arrProxy,
int  ssendReq 
) [inline]

bool final::destLikelyWithinProcess ( CProxy_ampi  arrProxy,
int  destIdx 
) const [inline]

Definition at line 2513 of file ampiimpl.h.

References BGConverse::CkMyNode(), BGConverse::CkNodeOf(), and CkArray::lastKnown().

Here is the call graph for this function:

MPI_Request final::delesend ( int  t,
int  s,
const void *  buf,
int  count,
MPI_Datatype  type,
int  rank,
MPI_Comm  destcomm,
CProxy_ampi  arrproxy,
int  ssend,
AmpiSendType  sendType 
)

void final::processAmpiMsg ( AmpiMsg *  msg,
void *  buf,
MPI_Datatype  type,
int  count 
) [inline]

void final::processRdmaMsg ( const void *  sbuf,
int  slength,
int  ssendReq,
int  srank,
void *  rbuf,
int  rcount,
MPI_Datatype  rtype,
MPI_Comm  comm 
) [inline]

void final::processRednMsg ( CkReductionMsg msg,
void *  buf,
MPI_Datatype  type,
int  count 
) [inline]

void final::processNoncommutativeRednMsg ( CkReductionMsg msg,
void *  buf,
MPI_Datatype  type,
int  count,
MPI_User_function func 
) [inline]

void final::processGatherMsg ( CkReductionMsg msg,
void *  buf,
MPI_Datatype  type,
int  recvCount 
) [inline]

void final::processGathervMsg ( CkReductionMsg msg,
void *  buf,
MPI_Datatype  type,
int recvCounts,
int displs 
) [inline]

AmpiMsg* final::getMessage ( int  t,
int  s,
MPI_Comm  comm,
int sts 
) const [inline]

int final::recv ( int  t,
int  s,
void *  buf,
int  count,
MPI_Datatype  type,
MPI_Comm  comm,
MPI_Status sts = NULL 
)

void final::irecv ( void *  buf,
int  count,
MPI_Datatype  type,
int  src,
int  tag,
MPI_Comm  comm,
MPI_Request request 
)

void final::mrecv ( int  tag,
int  src,
void *  buf,
int  count,
MPI_Datatype  datatype,
MPI_Comm  comm,
MPI_Status status,
MPI_Message message 
)

void final::imrecv ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  src,
int  tag,
MPI_Comm  comm,
MPI_Request request,
MPI_Message message 
)

void final::irecvBcast ( void *  buf,
int  count,
MPI_Datatype  type,
int  src,
MPI_Comm  comm,
MPI_Request request 
)

void final::sendrecv ( const void *  sbuf,
int  scount,
MPI_Datatype  stype,
int  dest,
int  stag,
void *  rbuf,
int  rcount,
MPI_Datatype  rtype,
int  src,
int  rtag,
MPI_Comm  comm,
MPI_Status sts 
)

void final::sendrecv_replace ( void *  buf,
int  count,
MPI_Datatype  datatype,
int  dest,
int  sendtag,
int  source,
int  recvtag,
MPI_Comm  comm,
MPI_Status status 
)

void final::probe ( int  t,
int  s,
MPI_Comm  comm,
MPI_Status sts 
)

void final::mprobe ( int  t,
int  s,
MPI_Comm  comm,
MPI_Status sts,
MPI_Message message 
)

int final::iprobe ( int  t,
int  s,
MPI_Comm  comm,
MPI_Status sts 
)

int final::improbe ( int  t,
int  s,
MPI_Comm  comm,
MPI_Status sts,
MPI_Message message 
)

void final::barrier (  ) 

void final::ibarrier ( MPI_Request request  ) 

void final::bcast ( int  root,
void *  buf,
int  count,
MPI_Datatype  type,
MPI_Comm  comm 
)

int final::intercomm_bcast ( int  root,
void *  buf,
int  count,
MPI_Datatype  type,
MPI_Comm  intercomm 
)

void final::ibcast ( int  root,
void *  buf,
int  count,
MPI_Datatype  type,
MPI_Comm  comm,
MPI_Request request 
)

int final::intercomm_ibcast ( int  root,
void *  buf,
int  count,
MPI_Datatype  type,
MPI_Comm  intercomm,
MPI_Request request 
)

static void final::bcastraw ( void *  buf,
int  len,
CkArrayID  aid 
) [static]

void final::split ( int  color,
int  key,
MPI_Comm dest,
int  type 
)

void final::commCreate ( const vector< int > &  vec,
MPI_Comm newcomm 
)

MPI_Comm final::cartCreate0D (  ) 

MPI_Comm final::cartCreate ( vector< int > &  vec,
int  ndims,
const int dims 
)

void final::graphCreate ( const vector< int > &  vec,
MPI_Comm newcomm 
)

void final::distGraphCreate ( const vector< int > &  vec,
MPI_Comm newcomm 
)

void final::intercommCreate ( const vector< int > &  rvec,
int  root,
MPI_Comm  tcomm,
MPI_Comm ncomm 
)

bool final::isInter (  )  const [inline]

Definition at line 2564 of file ampiimpl.h.

void final::intercommMerge ( int  first,
MPI_Comm ncomm 
)

int final::getWorldRank (  )  const [inline]

Definition at line 2567 of file ampiimpl.h.

References parent().

Here is the call graph for this function:

int final::getRank (  )  const [inline]

Return our rank in this communicator.

Definition at line 2569 of file ampiimpl.h.

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

Definition at line 2570 of file ampiimpl.h.

MPI_Comm final::getComm (  )  const [inline]

Definition at line 2571 of file ampiimpl.h.

void final::setCommName ( const char *  name  )  [inline]

Definition at line 2572 of file ampiimpl.h.

References name.

void final::getCommName ( char *  name,
int len 
) const [inline]

Definition at line 2573 of file ampiimpl.h.

References len, and name.

vector<int> final::getIndices (  )  const [inline]

Definition at line 2574 of file ampiimpl.h.

vector<int> final::getRemoteIndices (  )  const [inline]

Definition at line 2575 of file ampiimpl.h.

const CProxy_ampi& final::getProxy ( void   )  const [inline]

Definition at line 2576 of file ampiimpl.h.

const CProxy_ampi& final::getRemoteProxy (  )  const [inline]

Definition at line 2577 of file ampiimpl.h.

void final::setRemoteProxy ( CProxy_ampi  rproxy  )  [inline]

Definition at line 2578 of file ampiimpl.h.

int final::getIndexForRank ( int  r  )  const [inline]

Definition at line 2579 of file ampiimpl.h.

References r.

int final::getIndexForRemoteRank ( int  r  )  const [inline]

Definition at line 2580 of file ampiimpl.h.

References r.

void final::findNeighbors ( MPI_Comm  comm,
int  rank,
vector< int > &  neighbors 
) const

const vector<int>& final::getNeighbors (  )  const [inline]

Definition at line 2582 of file ampiimpl.h.

bool final::opIsCommutative ( MPI_Op  op  )  const [inline]

Definition at line 2583 of file ampiimpl.h.

References parent().

Here is the call graph for this function:

MPI_User_function* final::op2User_function ( MPI_Op  op  )  const [inline]

Definition at line 2584 of file ampiimpl.h.

References parent().

Here is the call graph for this function:

void final::topoDup ( int  topoType,
int  rank,
MPI_Comm  comm,
MPI_Comm newcomm 
)

AmpiRequestList& final::getReqs (  )  [inline]

Definition at line 2587 of file ampiimpl.h.

References parent().

Here is the call graph for this function:

CkDDT* final::getDDT (  )  [inline]

Definition at line 2588 of file ampiimpl.h.

References parent().

Here is the call graph for this function:

CthThread final::getThread (  )  const [inline]

Definition at line 2589 of file ampiimpl.h.

MPI_Win final::createWinInstance ( void *  base,
MPI_Aint  size,
int  disp_unit,
MPI_Info  info 
)

int final::deleteWinInstance ( MPI_Win  win  ) 

int final::winGetGroup ( WinStruct win,
MPI_Group group 
) const

int final::winPut ( const void *  orgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
int  rank,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
WinStruct win 
)

int final::winGet ( void *  orgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
int  rank,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
WinStruct win 
)

int final::winIget ( MPI_Aint  orgdisp,
int  orgcnt,
MPI_Datatype  orgtype,
int  rank,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
WinStruct win,
MPI_Request req 
)

int final::winIgetWait ( MPI_Request request,
MPI_Status status 
)

int final::winIgetFree ( MPI_Request request,
MPI_Status status 
)

void final::winRemotePut ( int  orgtotalsize,
char *  orgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
int  winIndex 
)

char* final::winLocalGet ( int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
int  winIndex 
)

AmpiMsg* final::winRemoteGet ( int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
int  winIndex 
)

AmpiMsg* final::winRemoteIget ( MPI_Aint  orgdisp,
int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
int  winIndex 
)

int final::winLock ( int  lock_type,
int  rank,
WinStruct win 
)

int final::winUnlock ( int  rank,
WinStruct win 
)

void final::winRemoteLock ( int  lock_type,
int  winIndex,
int  requestRank 
)

void final::winRemoteUnlock ( int  winIndex,
int  requestRank 
)

int final::winAccumulate ( const void *  orgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
int  rank,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
MPI_Op  op,
WinStruct win 
)

void final::winRemoteAccumulate ( int  orgtotalsize,
char *  orgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
MPI_Op  op,
int  winIndex 
)

int final::winGetAccumulate ( const void *  orgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
void *  resaddr,
int  rescnt,
MPI_Datatype  restype,
int  rank,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
MPI_Op  op,
WinStruct win 
)

void final::winLocalGetAccumulate ( int  orgtotalsize,
char *  sorgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
MPI_Op  op,
char *  resaddr,
int  winIndex 
)

AmpiMsg* final::winRemoteGetAccumulate ( int  orgtotalsize,
char *  sorgaddr,
int  orgcnt,
MPI_Datatype  orgtype,
MPI_Aint  targdisp,
int  targcnt,
MPI_Datatype  targtype,
MPI_Op  op,
int  winIndex 
)

int final::winCompareAndSwap ( const void *  orgaddr,
const void *  compaddr,
void *  resaddr,
MPI_Datatype  type,
int  rank,
MPI_Aint  targdisp,
WinStruct win 
)

char* final::winLocalCompareAndSwap ( int  size,
char *  sorgaddr,
char *  compaddr,
MPI_Datatype  type,
MPI_Aint  targdisp,
int  winIndex 
)

AmpiMsg* final::winRemoteCompareAndSwap ( int  size,
char *  sorgaddr,
char *  compaddr,
MPI_Datatype  type,
MPI_Aint  targdisp,
int  winIndex 
)

void final::winSetName ( WinStruct win,
const char *  name 
)

void final::winGetName ( WinStruct win,
char *  name,
int length 
) const

win_obj* final::getWinObjInstance ( WinStruct win  )  const

int final::getNewSemaId (  ) 

int final::intercomm_scatter ( int  root,
const void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  intercomm 
)

int final::intercomm_iscatter ( int  root,
const void *  sendbuf,
int  sendcount,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  intercomm,
MPI_Request request 
)

int final::intercomm_scatterv ( int  root,
const void *  sendbuf,
const int sendcounts,
const int displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  intercomm 
)

int final::intercomm_iscatterv ( int  root,
const void *  sendbuf,
const int sendcounts,
const int displs,
MPI_Datatype  sendtype,
void *  recvbuf,
int  recvcount,
MPI_Datatype  recvtype,
MPI_Comm  intercomm,
MPI_Request request 
)

final::CkDDT_Contiguous (  ) 

CkDDT_Contiguous& final::operator= ( const CkDDT_Contiguous &  obj  ) 

final::CkDDT_Contiguous ( int  count,
int  index,
CkDDT_DataType oldType 
)

final::CkDDT_Contiguous ( const CkDDT_Contiguous &  obj,
MPI_Aint  _lb,
MPI_Aint  _extent 
)

size_t final::serialize ( char *  userdata,
char *  buffer,
int  num,
int  msgLength,
CkDDT_Dir  dir 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

void final::pupType ( PUP::er p,
CkDDT ddt 
) [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getEnvelope ( int ni,
int na,
int nd,
int combiner 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getContents ( int  ni,
int  na,
int  nd,
int  i[],
MPI_Aint  a[],
int  d[] 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getNumBasicElements ( int  bytes  )  const [override, virtual]

Reimplemented from CkDDT_DataType.

final::CkDDT_HVector (  ) 

CkDDT_HVector& final::operator= ( const CkDDT_HVector &  obj  ) 

final::CkDDT_HVector ( int  nCount,
int  blength,
int  strideLen,
int  index,
CkDDT_DataType type 
)

final::CkDDT_HVector ( const CkDDT_HVector &  obj,
MPI_Aint  _lb,
MPI_Aint  _extent 
)

size_t final::serialize ( char *  userdata,
char *  buffer,
int  num,
int  msgLength,
CkDDT_Dir  dir 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

void final::pupType ( PUP::er p,
CkDDT ddt 
) [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getEnvelope ( int ni,
int na,
int nd,
int combiner 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getContents ( int  ni,
int  na,
int  nd,
int  i[],
MPI_Aint  a[],
int  d[] 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getNumBasicElements ( int  bytes  )  const [override, virtual]

Reimplemented from CkDDT_DataType.

final::CkDDT_Indexed_Block (  ) 

CkDDT_Indexed_Block& final::operator= ( const CkDDT_Indexed_Block &  obj  ) 

final::CkDDT_Indexed_Block ( int  count,
int  Blength,
const MPI_Aint arrBytesDisp,
const int ArrDisp,
int  index,
CkDDT_DataType type 
)

final::CkDDT_Indexed_Block ( const CkDDT_Indexed_Block &  obj,
MPI_Aint  _lb,
MPI_Aint  _extent 
)

size_t final::serialize ( char *  userdata,
char *  buffer,
int  num,
int  msgLength,
CkDDT_Dir  dir 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

void final::pupType ( PUP::er p,
CkDDT ddt 
) [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getEnvelope ( int ni,
int na,
int nd,
int combiner 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getContents ( int  ni,
int  na,
int  nd,
int  i[],
MPI_Aint  a[],
int  d[] 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getNumBasicElements ( int  bytes  )  const [override, virtual]

Reimplemented from CkDDT_DataType.

final::CkDDT_Indexed (  ) 

CkDDT_Indexed& final::operator= ( const CkDDT_Indexed &  obj  ) 

final::CkDDT_Indexed ( int  count,
const int arrBlock,
const MPI_Aint arrBytesDisp,
const MPI_Aint arrDisp,
int  index,
CkDDT_DataType type 
)

final::CkDDT_Indexed ( const CkDDT_Indexed &  obj,
MPI_Aint  _lb,
MPI_Aint  _extent 
)

size_t final::serialize ( char *  userdata,
char *  buffer,
int  num,
int  msgLength,
CkDDT_Dir  dir 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

void final::pupType ( PUP::er p,
CkDDT ddt 
) [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getEnvelope ( int ni,
int na,
int nd,
int combiner 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getContents ( int  ni,
int  na,
int  nd,
int  i[],
MPI_Aint  a[],
int  d[] 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getNumBasicElements ( int  bytes  )  const [override, virtual]

Reimplemented from CkDDT_DataType.

final::CkDDT_Struct (  ) 

CkDDT_Struct& final::operator= ( const CkDDT_Struct &  obj  ) 

final::CkDDT_Struct ( int  count,
const int arrBlock,
const MPI_Aint arrDisp,
const int index,
CkDDT_DataType **  type,
const char *  name = nullptr 
)

final::CkDDT_Struct ( const CkDDT_Struct &  obj,
MPI_Aint  _lb,
MPI_Aint  _extent 
)

vector<int>& final::getBaseIndices (  )  [inline]

Definition at line 423 of file ddt.h.

const vector<int>& final::getBaseIndices (  )  const [inline]

Definition at line 424 of file ddt.h.

References index.

vector<CkDDT_DataType *>& final::getBaseTypes (  )  [inline]

Definition at line 425 of file ddt.h.

const vector<CkDDT_DataType *>& final::getBaseTypes (  )  const [inline]

Definition at line 426 of file ddt.h.

size_t final::serialize ( char *  userdata,
char *  buffer,
int  num,
int  msgLength,
CkDDT_Dir  dir 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

void final::pupType ( PUP::er p,
CkDDT ddt 
) [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getEnvelope ( int ni,
int na,
int nd,
int combiner 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getContents ( int  ni,
int  na,
int  nd,
int  i[],
MPI_Aint  a[],
int  d[] 
) const [override, virtual]

Reimplemented from CkDDT_DataType.

int final::getNumBasicElements ( int  bytes  )  const [override, virtual]

Reimplemented from CkDDT_DataType.


Friends And Related Function Documentation

friend class IReq [friend]

Definition at line 2399 of file ampiimpl.h.

friend class SendReq [friend]

Definition at line 2400 of file ampiimpl.h.

friend class SsendReq [friend]

Definition at line 2401 of file ampiimpl.h.

friend class RednReq [friend]

Definition at line 2402 of file ampiimpl.h.

friend class GatherReq [friend]

Definition at line 2403 of file ampiimpl.h.

friend class GathervReq [friend]

Definition at line 2404 of file ampiimpl.h.


Field Documentation

int final::ndims [private]

Definition at line 474 of file ampiimpl.h.

vector<int> final::dims [private]

Definition at line 475 of file ampiimpl.h.

vector<int> final::periods [private]

Definition at line 475 of file ampiimpl.h.

vector<int> final::nbors [private]

Definition at line 475 of file ampiimpl.h.

int final::nvertices [private]

Definition at line 509 of file ampiimpl.h.

vector<int> final::index [private]

Definition at line 510 of file ampiimpl.h.

vector<int> final::edges [private]

Definition at line 510 of file ampiimpl.h.

vector<int> final::nbors [private]

Definition at line 510 of file ampiimpl.h.

int final::inDegree [private]

Definition at line 544 of file ampiimpl.h.

int final::outDegree [private]

Definition at line 544 of file ampiimpl.h.

Definition at line 545 of file ampiimpl.h.

Definition at line 545 of file ampiimpl.h.

vector<int> final::sources [private]

Definition at line 546 of file ampiimpl.h.

vector<int> final::sourceWeights [private]

Definition at line 546 of file ampiimpl.h.

vector<int> final::destinations [private]

Definition at line 546 of file ampiimpl.h.

vector<int> final::destWeights [private]

Definition at line 546 of file ampiimpl.h.

vector<int> final::nbors [private]

Definition at line 546 of file ampiimpl.h.

Definition at line 1221 of file ampiimpl.h.

Definition at line 1222 of file ampiimpl.h.

Definition at line 1223 of file ampiimpl.h.

MPI_Op final::op = MPI_OP_NULL

Definition at line 1264 of file ampiimpl.h.

Definition at line 1324 of file ampiimpl.h.

vector<int> final::displs

Definition at line 1325 of file ampiimpl.h.

Definition at line 1466 of file ampiimpl.h.

Definition at line 1487 of file ampiimpl.h.

Definition at line 1488 of file ampiimpl.h.

Definition at line 1489 of file ampiimpl.h.

Definition at line 1490 of file ampiimpl.h.

Definition at line 1491 of file ampiimpl.h.

void* final::extraState [private]

Definition at line 1492 of file ampiimpl.h.

int final::ssendReq [private]

Definition at line 1614 of file ampiimpl.h.

int final::tag [private]

Reimplemented from AmpiRequest.

Definition at line 1615 of file ampiimpl.h.

int final::srcRank [private]

Definition at line 1616 of file ampiimpl.h.

Definition at line 1618 of file ampiimpl.h.

MPI_Comm final::comm [private]

Reimplemented from AmpiRequest.

Definition at line 1619 of file ampiimpl.h.

char* final::data

Definition at line 1621 of file ampiimpl.h.

void* final::event

Reimplemented from AmpiRequest.

Definition at line 1624 of file ampiimpl.h.

Reimplemented from AmpiRequest.

Definition at line 1625 of file ampiimpl.h.

Definition at line 1685 of file ampiimpl.h.

TCharm* final::thread [private]

Definition at line 1922 of file ampiimpl.h.

CProxy_TCharm final::threads [private]

Definition at line 1923 of file ampiimpl.h.

Definition at line 1926 of file ampiimpl.h.

Definition at line 1927 of file ampiimpl.h.

Definition at line 1927 of file ampiimpl.h.

Definition at line 1928 of file ampiimpl.h.

Definition at line 1929 of file ampiimpl.h.

Definition at line 1930 of file ampiimpl.h.

Definition at line 1931 of file ampiimpl.h.

Definition at line 1934 of file ampiimpl.h.

ampi* final::worldPtr [private]

Definition at line 1935 of file ampiimpl.h.

Definition at line 1937 of file ampiimpl.h.

Definition at line 1938 of file ampiimpl.h.

Definition at line 1939 of file ampiimpl.h.

Definition at line 1940 of file ampiimpl.h.

Definition at line 1941 of file ampiimpl.h.

Definition at line 1942 of file ampiimpl.h.

Definition at line 1943 of file ampiimpl.h.

Definition at line 1945 of file ampiimpl.h.

Definition at line 1946 of file ampiimpl.h.

Definition at line 1947 of file ampiimpl.h.

const std::array<MPI_User_function*, AMPI_MAX_PREDEFINED_OP+1>& final::predefinedOps [private]

Definition at line 1948 of file ampiimpl.h.

vector<OpStruct> final::userOps [private]

Definition at line 1949 of file ampiimpl.h.

vector<AmpiMsg *> final::matchedMsgs [private]

Definition at line 1950 of file ampiimpl.h.

Definition at line 1956 of file ampiimpl.h.

Definition at line 1957 of file ampiimpl.h.

void** final::win_base_storage [private]

Definition at line 1958 of file ampiimpl.h.

Definition at line 1959 of file ampiimpl.h.

void* final::bsendBuffer [private]

Definition at line 1960 of file ampiimpl.h.

Definition at line 1961 of file ampiimpl.h.

Definition at line 1964 of file ampiimpl.h.

CProxy_ampi final::tmpRProxy [private]

Definition at line 1965 of file ampiimpl.h.

Definition at line 1967 of file ampiimpl.h.

Definition at line 1967 of file ampiimpl.h.

Definition at line 1970 of file ampiimpl.h.

std::unordered_map<std::string, std::map<int, int> > final::msgSizes

Definition at line 2354 of file ampiimpl.h.

Definition at line 2362 of file ampiimpl.h.

Definition at line 2364 of file ampiimpl.h.

Definition at line 2365 of file ampiimpl.h.

Definition at line 2366 of file ampiimpl.h.

Definition at line 2368 of file ampiimpl.h.

Definition at line 2369 of file ampiimpl.h.

Definition at line 2370 of file ampiimpl.h.

ampiParent* final::parent [private]

Definition at line 2406 of file ampiimpl.h.

CProxy_ampiParent final::parentProxy [private]

Definition at line 2407 of file ampiimpl.h.

TCharm* final::thread [private]

Definition at line 2408 of file ampiimpl.h.

int final::myRank [private]

Definition at line 2409 of file ampiimpl.h.

AmpiSeqQ final::oorder [private]

Definition at line 2410 of file ampiimpl.h.

Amm<AmpiRequest *, AMPI_AMM_PT2PT_POOL_SIZE> final::postedReqs

Definition at line 2417 of file ampiimpl.h.

Amm<AmpiMsg *, AMPI_AMM_PT2PT_POOL_SIZE> final::unexpectedMsgs

Definition at line 2418 of file ampiimpl.h.

Amm<AmpiRequest *, AMPI_AMM_COLL_POOL_SIZE> final::postedBcastReqs

Definition at line 2422 of file ampiimpl.h.

Amm<AmpiMsg *, AMPI_AMM_COLL_POOL_SIZE> final::unexpectedBcastMsgs

Definition at line 2423 of file ampiimpl.h.

Definition at line 2426 of file ampiimpl.h.

Definition at line 2429 of file ampiimpl.h.

vector<int> final::tmpVec [private]

Definition at line 2430 of file ampiimpl.h.

CProxy_ampi final::remoteProxy [private]

Definition at line 2431 of file ampiimpl.h.

Definition at line 2432 of file ampiimpl.h.

vector<int> final::arrayBlockLength [protected]

Reimplemented from CkDDT_HIndexed.

Definition at line 410 of file ddt.h.

vector<MPI_Aint> final::arrayDisplacements [protected]

Reimplemented from CkDDT_HIndexed_Block.

Definition at line 411 of file ddt.h.

vector<int> final::index [protected]

Definition at line 412 of file ddt.h.

vector<CkDDT_DataType *> final::arrayDataType [protected]

Definition at line 413 of file ddt.h.


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

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