
#include <ampiimpl.h>


Public Member Functions | |
| ampi () | |
| ampi (CkArrayID parent_, const ampiCommStruct &s) | |
| ampi (CkArrayID parent_, const ampiCommStruct &s, ComlibInstanceHandle ciStreaming_, ComlibInstanceHandle ciBcast_, ComlibInstanceHandle ciAllgather_, ComlibInstanceHandle ciAlltoall_) | |
| ampi (CkMigrateMessage *msg) | |
| void | ckJustMigrated (void) |
| void | ckJustRestored (void) |
| ~ampi () | |
| virtual void | pup (PUP::er &p) |
| void | allInitDone (CkReductionMsg *m) |
| void | setInitDoneFlag () |
| void | block (void) |
| void | unblock (void) |
| void | yield (void) |
| void | generic (AmpiMsg *) |
| void | ssend_ack (int sreq) |
| void | reduceResult (CkReductionMsg *m) |
| void | splitPhase1 (CkReductionMsg *msg) |
| void | commCreatePhase1 (CkReductionMsg *msg) |
| void | cartCreatePhase1 (CkReductionMsg *m) |
| void | graphCreatePhase1 (CkReductionMsg *m) |
| void | intercommCreatePhase1 (CkReductionMsg *m) |
| void | intercommMergePhase1 (CkReductionMsg *msg) |
| const ampiCommStruct & | comm2CommStruct (MPI_Comm comm) |
| AmpiMsg * | makeAmpiMsg (int destIdx, int t, int sRank, const void *buf, int count, int type, MPI_Comm destcomm, int sync=0) |
| void | comlibsend (int t, int s, const void *buf, int count, int type, int rank, MPI_Comm destcomm) |
| void | send (int t, int s, const void *buf, int count, int type, int rank, MPI_Comm destcomm, int sync=0) |
| void | delesend (int t, int s, const void *buf, int count, int type, int rank, MPI_Comm destcomm, CProxy_ampi arrproxy, int sync=0) |
| int | processMessage (AmpiMsg *msg, int t, int s, void *buf, int count, int type) |
| AmpiMsg * | getMessage (int t, int s, int comm, int *sts) |
| int | recv (int t, int s, void *buf, int count, int type, int comm, int *sts=0) |
| void | probe (int t, int s, int comm, int *sts) |
| int | iprobe (int t, int s, int comm, int *sts) |
| void | bcast (int root, void *buf, int count, int type, MPI_Comm comm) |
| void | split (int color, int key, MPI_Comm *dest, int type) |
| void | commCreate (const groupStruct vec, MPI_Comm *newcomm) |
| void | cartCreate (const groupStruct vec, MPI_Comm *newcomm) |
| void | graphCreate (const groupStruct vec, MPI_Comm *newcomm) |
| void | intercommCreate (const groupStruct rvec, int root, MPI_Comm *ncomm) |
| int | isInter (void) |
| void | intercommMerge (int first, MPI_Comm *ncomm) |
| int | getWorldRank (void) const |
| int | getRank (MPI_Comm comm) const |
| Return our rank in this communicator. | |
| int | getSize (MPI_Comm comm) const |
| MPI_Comm | getComm (void) const |
| CkVec< int > | getIndices (void) const |
| const CProxy_ampi & | getProxy (void) const |
| const CProxy_ampi & | getRemoteProxy (void) const |
| void | setRemoteProxy (CProxy_ampi rproxy) |
| int | getIndexForRank (int r) const |
| int | getIndexForRemoteRank (int r) const |
| const CProxy_ampi & | getComlibProxy (void) const |
| ComlibInstanceHandle | getStreaming (void) |
| ComlibInstanceHandle | getBcast (void) |
| ComlibInstanceHandle | getAllgather (void) |
| ComlibInstanceHandle | getAlltoall (void) |
| Strategy * | getStreamingStrategy (void) |
| Strategy * | getBcastStrategy (void) |
| Strategy * | getAllgatherStrategy (void) |
| Strategy * | getAlltoallStrategy (void) |
| CkDDT * | getDDT (void) |
| CthThread | getThread () |
| void | setMigratable (int mig) |
| MPI_Win | createWinInstance (void *base, MPI_Aint size, int disp_unit, MPI_Info info) |
| int | deleteWinInstance (MPI_Win win) |
| int | winGetGroup (WinStruct win, MPI_Group *group) |
| int | winPut (void *orgaddr, int orgcnt, MPI_Datatype orgtype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, WinStruct win) |
| int | winGet (void *orgaddr, int orgcnt, MPI_Datatype orgtype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, WinStruct win) |
| 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) |
| int | winIGetWait (MPI_Request *request, MPI_Status *status) |
| int | winIGetFree (MPI_Request *request, MPI_Status *status) |
| void | winRemotePut (int orgtotalsize, char *orgaddr, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, int winIndex, CkFutureID ftHandle, int pe_src) |
| void | winRemoteGet (int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, int winIndex, CkFutureID ftHandle, int pe_src) |
| AmpiMsg * | winRemoteIGet (int orgdisp, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, int winIndex) |
| int | winLock (int lock_type, int rank, WinStruct win) |
| int | winUnlock (int rank, WinStruct win) |
| void | winRemoteLock (int lock_type, int winIndex, CkFutureID ftHandle, int pe_src, int requestRank) |
| void | winRemoteUnlock (int winIndex, CkFutureID ftHandle, int pe_src, int requestRank) |
| int | winAccumulate (void *orgaddr, int orgcnt, MPI_Datatype orgtype, int rank, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, MPI_Op op, WinStruct win) |
| void | winRemoteAccumulate (int orgtotalsize, char *orgaddr, int orgcnt, MPI_Datatype orgtype, MPI_Aint targdisp, int targcnt, MPI_Datatype targtype, MPI_Op op, int winIndex, CkFutureID ftHandle, int pe_src) |
| void | winSetName (WinStruct win, char *name) |
| void | winGetName (WinStruct win, char *name, int *length) |
| win_obj * | getWinObjInstance (WinStruct win) |
| int | getNewSemaId () |
| AmpiMsg * | Alltoall_RemoteIGet (int disp, int targcnt, MPI_Datatype targtype, int tag) |
| void | setA2AIGetFlag (void *ptr) |
| void | resetA2AIGetFlag () |
Static Public Member Functions | |
| static void | sendraw (int t, int s, void *buf, int len, CkArrayID aid, int idx) |
| static void | bcastraw (void *buf, int len, CkArrayID aid) |
Data Fields | |
| CmmTable | msgs |
| CmmTable | posted_ireqs |
| int | nbcasts |
Private Member Functions | |
| void | findParent (bool forMigration) |
| void | inorder (AmpiMsg *msg) |
| void | init (void) |
Private Attributes | |
| CProxy_ampiParent | parentProxy |
| ampiParent * | parent |
| TCharm * | thread |
| bool | resumeOnRecv |
| ampiCommStruct | myComm |
| int | myRank |
| groupStruct | tmpVec |
| CProxy_ampi | remoteProxy |
| CProxy_ampi | comlibProxy |
| A proxy used when delegating message sends to comlib. | |
| ComlibInstanceHandle | ciStreaming |
| References to the comlib instance handles(currently just integers). | |
| ComlibInstanceHandle | ciBcast |
| ComlibInstanceHandle | ciAllgather |
| ComlibInstanceHandle | ciAlltoall |
| int | seqEntries |
| AmpiSeqQ | oorder |
| CkPupPtrVec< win_obj > | winObjects |
| int | AlltoallGetFlag |
| void * | Alltoallbuff |
Friends | |
| class | IReq |
| class | SReq |
Definition at line 1303 of file ampiimpl.h.
| ampi::ampi | ( | CkArrayID | parent_, | |
| const ampiCommStruct & | s | |||
| ) |
Definition at line 1230 of file ampi.C.
References CmmNew(), comlibProxy, findParent(), ampiCommStruct::getRankForIndex(), AmpiSeqQ::init(), init(), msgs, myComm, myRank, nbcasts, oorder, parent, posted_ireqs, seqEntries, and ampiCommStruct::setArrayID().
| ampi::ampi | ( | CkArrayID | parent_, | |
| const ampiCommStruct & | s, | |||
| ComlibInstanceHandle | ciStreaming_, | |||
| ComlibInstanceHandle | ciBcast_, | |||
| ComlibInstanceHandle | ciAllgather_, | |||
| ComlibInstanceHandle | ciAlltoall_ | |||
| ) |
Definition at line 1262 of file ampi.C.
References ciAllgather, ciAlltoall, ciBcast, ciStreaming, CmiPrintf(), CmmNew(), comlibProxy, findParent(), ampiCommStruct::getRankForIndex(), AmpiSeqQ::init(), init(), msgs, myComm, myRank, nbcasts, oorder, parent, posted_ireqs, seqEntries, and ampiCommStruct::setArrayID().
| ampi::ampi | ( | CkMigrateMessage * | msg | ) |
| ampi::~ampi | ( | ) |
Definition at line 1415 of file ampi.C.
References _BgOutOfCoreFlag, CkInRestarting(), CmmFree(), CmmFreeAll(), msg, msgs, and posted_ireqs.
| void ampi::findParent | ( | bool | forMigration | ) | [private] |
Definition at line 1319 of file ampi.C.
References myComm, parent, parentProxy, ampiParent::registerAmpi(), and thread.
Referenced by ampi(), ckJustMigrated(), and ckJustRestored().
| void ampi::inorder | ( | AmpiMsg * | msg | ) | [private] |
Definition at line 1876 of file ampi.C.
References ampiParent::ampiReqs, CmiMyPe(), CmmPut(), AmpiMsg::comm, AmpiMsg::event, AmpiMsg::eventPe, msgs, parent, posted_ireqs, IReq::receive(), AmpiMsg::seq, AmpiRequestList::size(), AmpiMsg::srcIdx, AmpiMsg::srcRank, and AmpiMsg::tag.
Referenced by generic().
| void ampi::init | ( | void | ) | [private] |
Definition at line 1215 of file ampi.C.
References CmiFalse, msgs, parent, posted_ireqs, resumeOnRecv, and thread.
Referenced by ampi().
| void ampi::ckJustMigrated | ( | void | ) |
Definition at line 1302 of file ampi.C.
References ArrayElement::ckJustMigrated(), and findParent().
| void ampi::ckJustRestored | ( | void | ) |
Definition at line 1308 of file ampi.C.
References ArrayElement::ckJustRestored(), and findParent().
| void ampi::pup | ( | PUP::er & | p | ) | [virtual] |
Definition at line 1372 of file ampi.C.
References ciAllgather, ciAlltoall, ciBcast, ciStreaming, cmm_pup_ampi_message(), cmm_pup_posted_ireq(), CmmPup(), comlibProxy, PUP::er::isUnpacking(), PUP::er::isUserlevel(), msgs, myComm, myRank, nbcasts, oorder, parentProxy, posted_ireqs, ArrayElement::pup(), remoteProxy, resumeOnRecv, seqEntries, and tmpVec.
| void ampi::setInitDoneFlag | ( | ) |
Definition at line 1336 of file ampi.C.
References ampiParent::ampiInitCallDone, ampiParent::getTCharmThread(), parent, and TCharm::start().
| void ampi::block | ( | void | ) |
Definition at line 1803 of file ampi.C.
References TCharm::suspend(), and thread.
Referenced by AMPI_Suspend(), send(), GPUReq::wait(), SReq::wait(), and IReq::wait().
| void ampi::unblock | ( | void | ) |
Definition at line 1811 of file ampi.C.
References TCharm::resume(), and thread.
Referenced by AMPI_GPU_complete().
| void ampi::yield | ( | void | ) |
Definition at line 1807 of file ampi.C.
References TCharm::schedule(), and thread.
Referenced by AMPI_Yield(), SReq::test(), and IReq::test().
| void ampi::generic | ( | AmpiMsg * | msg | ) |
Definition at line 1830 of file ampi.C.
References AmpiMsg::comm, AmpiMsg::event, AmpiSeqQ::getOutOfOrder(), envelope::getRef(), inorder(), n, oorder, AmpiSeqQ::put(), TCharm::resume(), resumeOnRecv, AmpiMsg::seq, AmpiMsg::srcIdx, AmpiMsg::srcRank, AmpiMsg::tag, thread, and UsrToEnv().
Referenced by AMPI_Reduce().
| void ampi::ssend_ack | ( | int | sreq | ) |
Definition at line 1815 of file ampi.C.
References ampiParent::ampiReqs, parent, TCharm::resume(), resumeOnRecv, SReq::statusIreq, and thread.
| void ampi::reduceResult | ( | CkReductionMsg * | m | ) |
| void ampi::splitPhase1 | ( | CkReductionMsg * | msg | ) |
Definition at line 1487 of file ampi.C.
References CkArrayOptions::bindTo(), c, ampiSplitKey::color, compareAmpiSplitKey(), ampiCommStruct::getIndexForRank(), ampiCommStruct::getSize(), idx, myComm, ampiSplitKey::nextSplitComm, opts, parentProxy, CkVec< T >::push_back(), qsort(), CkArrayOptions::setNumInitial(), and CkVec< T >::size().
| void ampi::commCreatePhase1 | ( | CkReductionMsg * | msg | ) |
Definition at line 1577 of file ampi.C.
References CkArrayOptions::bindTo(), CkVec< T >::insert(), opts, parentProxy, CkArrayOptions::setNumInitial(), CkVec< T >::size(), and tmpVec.
| void ampi::cartCreatePhase1 | ( | CkReductionMsg * | m | ) |
Definition at line 1621 of file ampi.C.
References CkArrayOptions::bindTo(), CkVec< T >::insert(), opts, parentProxy, CkArrayOptions::setNumInitial(), CkVec< T >::size(), size, and tmpVec.
| void ampi::graphCreatePhase1 | ( | CkReductionMsg * | m | ) |
Definition at line 1668 of file ampi.C.
References CkArrayOptions::bindTo(), CkVec< T >::insert(), opts, parentProxy, CkArrayOptions::setNumInitial(), CkVec< T >::size(), size, and tmpVec.
| void ampi::intercommCreatePhase1 | ( | CkReductionMsg * | m | ) |
Definition at line 1712 of file ampi.C.
References CkArrayOptions::bindTo(), ampiCommStruct::getIndices(), CkVec< T >::insert(), myComm, opts, parentProxy, CkArrayOptions::setNumInitial(), CkVec< T >::size(), and tmpVec.
| void ampi::intercommMergePhase1 | ( | CkReductionMsg * | msg | ) |
Definition at line 1764 of file ampi.C.
References CkArrayOptions::bindTo(), CkVec< T >::insert(), opts, parentProxy, CkArrayOptions::setNumInitial(), CkVec< T >::size(), and tmpVec.
| const ampiCommStruct& ampi::comm2CommStruct | ( | MPI_Comm | comm | ) | [inline] |
Definition at line 1365 of file ampiimpl.h.
References ampiParent::comm2CommStruct(), and parent.
Referenced by AMPI_Ireduce(), AMPI_Reduce(), bcast(), delesend(), and send().
| AmpiMsg * ampi::makeAmpiMsg | ( | int | destIdx, | |
| int | t, | |||
| int | sRank, | |||
| const void * | buf, | |||
| int | count, | |||
| int | type, | |||
| MPI_Comm | destcomm, | |||
| int | sync = 0 | |||
| ) |
Definition at line 1930 of file ampi.C.
References TCharm::activateVariable(), AmpiMsg::data, TCharm::deactivateVariable(), getDDT(), MPI_COMM_WORLD, msg, AmpiSeqQ::nextOutgoing(), oorder, envelope::setRef(), and UsrToEnv().
Referenced by bcast(), and delesend().
| void ampi::comlibsend | ( | int | t, | |
| int | s, | |||
| const void * | buf, | |||
| int | count, | |||
| int | type, | |||
| int | rank, | |||
| MPI_Comm | destcomm | |||
| ) | [inline] |
Definition at line 1949 of file ampi.C.
References comlibProxy, and delesend().
Referenced by AMPI_Isend(), AMPI_Send(), and AMPI_Ssend().
| void ampi::send | ( | int | t, | |
| int | s, | |||
| const void * | buf, | |||
| int | count, | |||
| int | type, | |||
| int | rank, | |||
| MPI_Comm | destcomm, | |||
| int | sync = 0 | |||
| ) | [inline] |
Definition at line 1956 of file ampi.C.
References block(), comm2CommStruct(), delesend(), dest, getAmpiInstance(), ampiCommStruct::getComm(), ampiCommStruct::getProxy(), TCharm::getThread(), myComm, resumeOnRecv, and thread.
Referenced by AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Alltoall(), AMPI_Alltoallv(), AMPI_Iallgather(), AMPI_Ialltoall(), AMPI_Isend(), AMPI_Issend(), AMPI_Scatter(), AMPI_Scatterv(), AMPI_Send(), AMPI_Ssend(), and PersReq::start().
Definition at line 1983 of file ampi.C.
References AmpiMsg::data, MPI_COMM_WORLD, and msg.
Referenced by reduceResult().
| void ampi::delesend | ( | int | t, | |
| int | s, | |||
| const void * | buf, | |||
| int | count, | |||
| int | type, | |||
| int | rank, | |||
| MPI_Comm | destcomm, | |||
| CProxy_ampi | arrproxy, | |||
| int | sync = 0 | |||
| ) |
Definition at line 1992 of file ampi.C.
References comm2CommStruct(), dest, ampiCommStruct::getIndexForRank(), ampiCommStruct::getIndexForRemoteRank(), isInter(), makeAmpiMsg(), MPI_PROC_NULL, MPI_Type_size(), parent, remoteProxy, and size.
Referenced by AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Alltoall(), AMPI_Alltoallv(), AMPI_Iallgather(), AMPI_Ialltoall(), comlibsend(), and send().
Definition at line 2019 of file ampi.C.
References TCharm::activateVariable(), AmpiMsg::data, TCharm::deactivateVariable(), getDDT(), and AmpiMsg::length.
Referenced by IReq::receive().
Definition at line 2039 of file ampi.C.
References Converse::CkMyPe(), CmiMyPe(), CthTraceResume(), AmpiMsg::event, AmpiMsg::eventPe, getAmpiInstance(), ampiCommStruct::getComm(), ampiCommStruct::getIndexForRemoteRank(), TCharm::getThread(), isInter(), AmpiMsg::length, MPI_ANY_TAG, MPI_PROC_NULL, msg, myComm, printf(), status(), thread, and traceSuspend().
Referenced by AMPI_Allreduce(), AMPI_Gather(), AMPI_Gatherv(), AMPI_Recv(), AMPI_Reduce(), AMPI_Scatter(), AMPI_Scatterv(), AMPI_Set_startevent(), and bcast().
Definition at line 2136 of file ampi.C.
References AmpiMsg::length, msg, msgs, resumeOnRecv, TCharm::suspend(), and thread.
Referenced by AMPI_Probe().
Definition at line 2163 of file ampi.C.
References AmpiMsg::length, msg, msgs, TCharm::schedule(), and thread.
Referenced by AMPI_Iprobe(), ATAReq::test(), and PersReq::test().
Definition at line 2190 of file ampi.C.
References ciBcast, comlibProxy, comm2CommStruct(), dest, ampiCommStruct::getIndexForRank(), makeAmpiMsg(), nbcasts, and recv().
Referenced by AMPI_Bcast().
Definition at line 2210 of file ampi.C.
References AmpiMsg::data, MPI_COMM_WORLD, and msg.
Referenced by startCFnCall().
Definition at line 1446 of file ampi.C.
References CkReduction::concat, ampiCommStruct::getIndexForRank(), ampiParent::getNextCart(), ampiParent::getNextSplit(), ampiCommStruct::getProxy(), myComm, myRank, parent, TCharm::suspend(), and thread.
Referenced by AMPI_Cart_sub(), and AMPI_Comm_split().
| void ampi::commCreate | ( | const groupStruct | vec, | |
| MPI_Comm * | newcomm | |||
| ) |
Definition at line 1561 of file ampi.C.
References ampiParent::getNextGroup(), getPosOp(), ampiCommStruct::getProxy(), CkReduction::max_int, MPI_COMM_NULL, myComm, parent, TCharm::suspend(), thread, and tmpVec.
Referenced by AMPI_Comm_create().
| void ampi::cartCreate | ( | const groupStruct | vec, | |
| MPI_Comm * | newcomm | |||
| ) |
Definition at line 1605 of file ampi.C.
References ampiParent::getNextCart(), getPosOp(), ampiCommStruct::getProxy(), CkReduction::max_int, MPI_COMM_NULL, myComm, parent, TCharm::suspend(), thread, and tmpVec.
Referenced by AMPI_Cart_create().
| void ampi::graphCreate | ( | const groupStruct | vec, | |
| MPI_Comm * | newcomm | |||
| ) |
Definition at line 1652 of file ampi.C.
References ampiParent::getNextGraph(), getPosOp(), ampiCommStruct::getProxy(), CkReduction::max_int, MPI_COMM_NULL, myComm, parent, TCharm::suspend(), thread, and tmpVec.
Referenced by AMPI_Graph_create().
| void ampi::intercommCreate | ( | const groupStruct | rvec, | |
| int | root, | |||
| MPI_Comm * | ncomm | |||
| ) |
Definition at line 1699 of file ampi.C.
References ampiParent::getNextInter(), ampiCommStruct::getProxy(), CkReduction::max_int, myComm, parent, TCharm::suspend(), thread, and tmpVec.
Referenced by AMPI_Intercomm_create().
| int ampi::isInter | ( | void | ) | [inline] |
Definition at line 1393 of file ampiimpl.h.
References ampiCommStruct::isinter(), and myComm.
Referenced by AMPI_Allreduce(), AMPI_Iallreduce(), AMPI_Reduce(), AMPI_Reduce_scatter(), AMPI_Scan(), delesend(), and recv().
Definition at line 1741 of file ampi.C.
References ampiCommStruct::getIndexForRank(), ampiCommStruct::getIndices(), ampiParent::getNextIntra(), ampiCommStruct::getProxy(), ampiCommStruct::getRemoteIndices(), CkReduction::max_int, myComm, myRank, parent, CkVec< T >::push_back(), CkVec< T >::resize(), CkVec< T >::size(), TCharm::suspend(), thread, and tmpVec.
Referenced by AMPI_Intercomm_merge().
| int ampi::getWorldRank | ( | void | ) | const [inline] |
Return our rank in this communicator.
Definition at line 1398 of file ampiimpl.h.
References MPI_COMM_SELF, and myRank.
Referenced by AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Alltoall(), AMPI_Alltoallv(), AMPI_Comm_rank(), AMPI_Gather(), AMPI_Gatherv(), AMPI_Iallgather(), AMPI_Ialltoall(), AMPI_Intercomm_merge(), AMPI_Isend(), AMPI_Issend(), AMPI_Reduce(), AMPI_Reduce_scatter(), AMPI_Scan(), AMPI_Scatter(), AMPI_Scatterv(), AMPI_Send(), AMPI_Ssend(), and PersReq::start().
Definition at line 1402 of file ampiimpl.h.
References ampiCommStruct::getSize(), MPI_COMM_SELF, and myComm.
Referenced by AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Alltoall(), AMPI_Alltoall2(), AMPI_Alltoallv(), AMPI_Comm_size(), AMPI_Gather(), AMPI_Gatherv(), AMPI_Iallgather(), AMPI_Ialltoall(), AMPI_Intercomm_create(), AMPI_Reduce_scatter(), AMPI_Scan(), AMPI_Scatter(), and AMPI_Scatterv().
| MPI_Comm ampi::getComm | ( | void | ) | const [inline] |
Definition at line 1407 of file ampiimpl.h.
References ampiCommStruct::getindices(), and myComm.
Referenced by AMPI_Comm_compare(), and AMPI_Intercomm_create().
| const CProxy_ampi& ampi::getProxy | ( | void | ) | const [inline] |
Definition at line 1408 of file ampiimpl.h.
Referenced by AMPI_Allreduce(), AMPI_Iallreduce(), AMPI_Ireduce(), AMPI_Reduce(), AMPI_Resume(), ampiInit(), and startCFnCall().
| const CProxy_ampi& ampi::getRemoteProxy | ( | void | ) | const [inline] |
| void ampi::setRemoteProxy | ( | CProxy_ampi | rproxy | ) | [inline] |
Definition at line 1411 of file ampiimpl.h.
References ampiCommStruct::getIndexForRank(), and myComm.
Referenced by AMPI_Intercomm_create(), and AMPI_Intercomm_merge().
Definition at line 1412 of file ampiimpl.h.
References ampiCommStruct::getIndexForRemoteRank(), and myComm.
Referenced by AMPI_Intercomm_merge().
| const CProxy_ampi& ampi::getComlibProxy | ( | void | ) | const [inline] |
Definition at line 1414 of file ampiimpl.h.
References comlibProxy.
Referenced by AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Alltoall(), AMPI_Alltoallv(), AMPI_Iallgather(), and AMPI_Ialltoall().
| ComlibInstanceHandle ampi::getStreaming | ( | void | ) | [inline] |
| ComlibInstanceHandle ampi::getBcast | ( | void | ) | [inline] |
| ComlibInstanceHandle ampi::getAllgather | ( | void | ) | [inline] |
| ComlibInstanceHandle ampi::getAlltoall | ( | void | ) | [inline] |
| Strategy* ampi::getStreamingStrategy | ( | void | ) | [inline] |
| Strategy* ampi::getBcastStrategy | ( | void | ) | [inline] |
| Strategy* ampi::getAllgatherStrategy | ( | void | ) | [inline] |
Definition at line 1422 of file ampiimpl.h.
References ciAllgather.
Referenced by AMPI_Allgather(), AMPI_Allgatherv(), and AMPI_Iallgather().
| Strategy* ampi::getAlltoallStrategy | ( | void | ) | [inline] |
Definition at line 1423 of file ampiimpl.h.
References ciAlltoall.
Referenced by AMPI_Alltoall(), AMPI_Alltoallv(), and AMPI_Ialltoall().
| CkDDT* ampi::getDDT | ( | void | ) | [inline] |
Definition at line 1426 of file ampiimpl.h.
References ampiParent::myDDT, and parent.
Referenced by Alltoall_RemoteIGet(), AMPI_Allgather(), AMPI_Allgatherv(), AMPI_Allreduce(), AMPI_Alltoall(), AMPI_Alltoall2(), AMPI_Alltoallv(), AMPI_Gather(), AMPI_Iallgather(), AMPI_Iallreduce(), AMPI_Ialltoall(), AMPI_Ireduce(), AMPI_Reduce(), AMPI_Reduce_scatter(), AMPI_Scan(), AMPI_Scatter(), AMPI_Scatterv(), AMPI_Set_startevent(), copyDatatype(), makeAmpiMsg(), MPI_Pack_size(), MPID_Datatype_get_extent_macro(), MPID_Datatype_get_size_macro(), processMessage(), winAccumulate(), winGet(), winPut(), winRemoteAccumulate(), winRemoteGet(), winRemoteIGet(), and winRemotePut().
| CthThread ampi::getThread | ( | ) | [inline] |
| void ampi::setMigratable | ( | int | mig | ) | [inline] |
Definition at line 1429 of file ampiimpl.h.
References CmiFalse, CmiTrue, and thread.
Referenced by AMPI_Setmigratable().
Definition at line 534 of file ampiOneSided.C.
References ampiParent::addWinStruct(), ampiCommStruct::getComm(), myComm, parent, CkVec< T >::push_back(), CkVec< T >::size(), and winObjects.
Referenced by AMPI_Win_create().
Definition at line 544 of file ampiOneSided.C.
References win_obj::free(), ampiParent::getWinStruct(), WinStruct::index, MPI_SUCCESS, parent, ampiParent::removeWinStruct(), and winObjects.
Referenced by AMPI_Win_free().
Definition at line 553 of file ampiOneSided.C.
References WinStruct::comm, ampiParent::comm2group(), MPI_SUCCESS, and parent.
Referenced by AMPI_Win_get_group().
| int ampi::winPut | ( | void * | orgaddr, | |
| int | orgcnt, | |||
| MPI_Datatype | orgtype, | |||
| int | rank, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| WinStruct | win | |||
| ) |
Definition at line 234 of file ampiOneSided.C.
References CkCreateAttachedFuture(), Converse::CkMyPe(), CkWaitFutureID(), getDDT(), WinStruct::index, MPI_SUCCESS, and msg.
Referenced by AMPI_Put().
| int ampi::winGet | ( | void * | orgaddr, | |
| int | orgcnt, | |||
| MPI_Datatype | orgtype, | |||
| int | rank, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| WinStruct | win | |||
| ) |
Definition at line 281 of file ampiOneSided.C.
References CkCreateAttachedFuture(), Converse::CkMyPe(), CkWaitFutureID(), getDDT(), WinStruct::index, MPI_SUCCESS, msg, and myRank.
Referenced by AMPI_Get().
| int ampi::winIGet | ( | MPI_Aint | orgdisp, | |
| int | orgcnt, | |||
| MPI_Datatype | orgtype, | |||
| int | rank, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| WinStruct | win, | |||
| MPI_Request * | req | |||
| ) |
Definition at line 345 of file ampiOneSided.C.
References WinStruct::index, MPI_SUCCESS, and myRank.
Referenced by AMPI_IGet().
| int ampi::winIGetWait | ( | MPI_Request * | request, | |
| MPI_Status * | status | |||
| ) |
Definition at line 387 of file ampiOneSided.C.
References CkWaitReleaseFuture(), MPI_SUCCESS, and MPI_Status::msg.
Referenced by AMPI_IGet_Wait().
| int ampi::winIGetFree | ( | MPI_Request * | request, | |
| MPI_Status * | status | |||
| ) |
Definition at line 396 of file ampiOneSided.C.
References MPI_ERR_BUFFER, MPI_IGet_Data(), MPI_SUCCESS, and MPI_Status::msg.
Referenced by AMPI_IGet_Free().
| void ampi::winRemotePut | ( | int | orgtotalsize, | |
| char * | orgaddr, | |||
| int | orgcnt, | |||
| MPI_Datatype | orgtype, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| int | winIndex, | |||
| CkFutureID | ftHandle, | |||
| int | pe_src | |||
| ) |
Definition at line 261 of file ampiOneSided.C.
References win_obj::baseAddr, CkSendToFutureID(), ampiCommStruct::getComm(), getDDT(), msg, myComm, win_obj::put(), and winObjects.
| void ampi::winRemoteGet | ( | int | orgcnt, | |
| MPI_Datatype | orgtype, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| int | winIndex, | |||
| CkFutureID | ftHandle, | |||
| int | pe_src | |||
| ) |
Definition at line 312 of file ampiOneSided.C.
References win_obj::baseAddr, CkSendToFutureID(), AmpiMsg::data, win_obj::get(), ampiCommStruct::getComm(), getDDT(), msg, myComm, myRank, and winObjects.
| AmpiMsg * ampi::winRemoteIGet | ( | int | orgdisp, | |
| int | orgcnt, | |||
| MPI_Datatype | orgtype, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| int | winIndex | |||
| ) |
Definition at line 357 of file ampiOneSided.C.
References win_obj::baseAddr, AmpiMsg::data, ampiCommStruct::getComm(), getDDT(), win_obj::iget(), msg, myComm, myRank, and winObjects.
Definition at line 461 of file ampiOneSided.C.
References CkCreateAttachedFuture(), Converse::CkMyPe(), CkWaitFutureID(), WinStruct::index, MPI_SUCCESS, and msg.
Referenced by AMPI_Win_lock().
Definition at line 500 of file ampiOneSided.C.
References CkCreateAttachedFuture(), Converse::CkMyPe(), CkWaitFutureID(), WinStruct::index, MPI_SUCCESS, and msg.
Referenced by AMPI_Win_unlock().
| void ampi::winRemoteLock | ( | int | lock_type, | |
| int | winIndex, | |||
| CkFutureID | ftHandle, | |||
| int | pe_src, | |||
| int | requestRank | |||
| ) |
Definition at line 481 of file ampiOneSided.C.
References win_obj::emptyQueue(), win_obj::enqueue(), win_obj::lock(), win_obj::owner, and winObjects.
| void ampi::winRemoteUnlock | ( | int | winIndex, | |
| CkFutureID | ftHandle, | |||
| int | pe_src, | |||
| int | requestRank | |||
| ) |
Definition at line 520 of file ampiOneSided.C.
References win_obj::emptyQueue(), win_obj::lockTopQueue(), win_obj::unlock(), and winObjects.
| int ampi::winAccumulate | ( | void * | orgaddr, | |
| int | orgcnt, | |||
| MPI_Datatype | orgtype, | |||
| int | rank, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| MPI_Op | op, | |||
| WinStruct | win | |||
| ) |
Definition at line 413 of file ampiOneSided.C.
References CkCreateAttachedFuture(), Converse::CkMyPe(), CkWaitFutureID(), getDDT(), WinStruct::index, MPI_SUCCESS, msg, and myRank.
Referenced by AMPI_Accumulate().
| void ampi::winRemoteAccumulate | ( | int | orgtotalsize, | |
| char * | orgaddr, | |||
| int | orgcnt, | |||
| MPI_Datatype | orgtype, | |||
| MPI_Aint | targdisp, | |||
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| MPI_Op | op, | |||
| int | winIndex, | |||
| CkFutureID | ftHandle, | |||
| int | pe_src | |||
| ) |
Definition at line 441 of file ampiOneSided.C.
References win_obj::accumulate(), CkSendToFutureID(), ampiCommStruct::getComm(), getDDT(), msg, myComm, and winObjects.
| void ampi::winSetName | ( | WinStruct | win, | |
| char * | name | |||
| ) |
Definition at line 559 of file ampiOneSided.C.
References WinStruct::index, win_obj::setName(), and winObjects.
Referenced by AMPI_Win_set_name().
Definition at line 565 of file ampiOneSided.C.
References win_obj::getName(), WinStruct::index, and winObjects.
Referenced by AMPI_Win_get_name().
| int ampi::getNewSemaId | ( | ) |
| AmpiMsg * ampi::Alltoall_RemoteIGet | ( | int | disp, | |
| int | targcnt, | |||
| MPI_Datatype | targtype, | |||
| int | tag | |||
| ) |
Definition at line 2220 of file ampi.C.
References Alltoallbuff, AlltoallGetFlag, AmpiMsg::data, ampiCommStruct::getComm(), getDDT(), msg, and myComm.
| void ampi::setA2AIGetFlag | ( | void * | ptr | ) | [inline] |
Definition at line 1488 of file ampiimpl.h.
References Alltoallbuff, and AlltoallGetFlag.
Referenced by AMPI_Alltoall2().
| void ampi::resetA2AIGetFlag | ( | ) | [inline] |
Definition at line 1489 of file ampiimpl.h.
References Alltoallbuff, and AlltoallGetFlag.
Referenced by AMPI_Alltoall2().
friend class IReq [friend] |
friend class SReq [friend] |
Definition at line 1305 of file ampiimpl.h.
CProxy_ampiParent ampi::parentProxy [private] |
Definition at line 1306 of file ampiimpl.h.
Referenced by cartCreatePhase1(), commCreatePhase1(), findParent(), graphCreatePhase1(), intercommCreatePhase1(), intercommMergePhase1(), pup(), and splitPhase1().
ampiParent* ampi::parent [private] |
Definition at line 1308 of file ampiimpl.h.
Referenced by ampi(), cartCreate(), comm2CommStruct(), commCreate(), createWinInstance(), delesend(), deleteWinInstance(), findParent(), getDDT(), getWorldRank(), graphCreate(), init(), inorder(), intercommCreate(), intercommMerge(), setInitDoneFlag(), split(), ssend_ack(), and winGetGroup().
TCharm* ampi::thread [private] |
Definition at line 1309 of file ampiimpl.h.
Referenced by block(), cartCreate(), commCreate(), findParent(), generic(), getThread(), graphCreate(), init(), intercommCreate(), intercommMerge(), iprobe(), probe(), recv(), send(), setMigratable(), setRemoteProxy(), split(), ssend_ack(), unblock(), and yield().
bool ampi::resumeOnRecv [private] |
Definition at line 1310 of file ampiimpl.h.
Referenced by generic(), init(), probe(), pup(), send(), ssend_ack(), SReq::wait(), and IReq::wait().
ampiCommStruct ampi::myComm [private] |
Definition at line 1312 of file ampiimpl.h.
Referenced by Alltoall_RemoteIGet(), ampi(), cartCreate(), commCreate(), createWinInstance(), findParent(), getComm(), getIndexForRank(), getIndexForRemoteRank(), getIndices(), getSize(), graphCreate(), intercommCreate(), intercommCreatePhase1(), intercommMerge(), isInter(), pup(), recv(), send(), split(), splitPhase1(), winRemoteAccumulate(), winRemoteGet(), winRemoteIGet(), and winRemotePut().
int ampi::myRank [private] |
Definition at line 1313 of file ampiimpl.h.
Referenced by ampi(), getRank(), intercommMerge(), pup(), split(), winAccumulate(), winGet(), winIGet(), winRemoteGet(), and winRemoteIGet().
groupStruct ampi::tmpVec [private] |
Definition at line 1314 of file ampiimpl.h.
Referenced by cartCreate(), cartCreatePhase1(), commCreate(), commCreatePhase1(), graphCreate(), graphCreatePhase1(), intercommCreate(), intercommCreatePhase1(), intercommMerge(), intercommMergePhase1(), and pup().
CProxy_ampi ampi::remoteProxy [private] |
Definition at line 1315 of file ampiimpl.h.
Referenced by delesend(), getRemoteProxy(), pup(), and setRemoteProxy().
CProxy_ampi ampi::comlibProxy [private] |
A proxy used when delegating message sends to comlib.
Definition at line 1319 of file ampiimpl.h.
Referenced by ampi(), bcast(), comlibsend(), getComlibProxy(), and pup().
ComlibInstanceHandle ampi::ciStreaming [private] |
References to the comlib instance handles(currently just integers).
Definition at line 1322 of file ampiimpl.h.
Referenced by ampi(), getStreaming(), getStreamingStrategy(), and pup().
ComlibInstanceHandle ampi::ciBcast [private] |
Definition at line 1323 of file ampiimpl.h.
Referenced by ampi(), bcast(), getBcast(), getBcastStrategy(), and pup().
ComlibInstanceHandle ampi::ciAllgather [private] |
Definition at line 1324 of file ampiimpl.h.
Referenced by ampi(), getAllgather(), getAllgatherStrategy(), and pup().
ComlibInstanceHandle ampi::ciAlltoall [private] |
Definition at line 1325 of file ampiimpl.h.
Referenced by ampi(), getAlltoall(), getAlltoallStrategy(), and pup().
int ampi::seqEntries [private] |
AmpiSeqQ ampi::oorder [private] |
Definition at line 1329 of file ampiimpl.h.
Referenced by ampi(), generic(), makeAmpiMsg(), and pup().
Definition at line 1440 of file ampiimpl.h.
Referenced by ampi(), getMessage(), init(), inorder(), iprobe(), probe(), pup(), and ~ampi().
Definition at line 1441 of file ampiimpl.h.
Referenced by ampi(), AMPI_Irecv(), init(), inorder(), pup(), and ~ampi().
CkPupPtrVec<win_obj> ampi::winObjects [private] |
Definition at line 1445 of file ampiimpl.h.
Referenced by createWinInstance(), deleteWinInstance(), getWinObjInstance(), winGetName(), winRemoteAccumulate(), winRemoteGet(), winRemoteIGet(), winRemoteLock(), winRemotePut(), winRemoteUnlock(), and winSetName().
int ampi::AlltoallGetFlag [private] |
Definition at line 1485 of file ampiimpl.h.
Referenced by Alltoall_RemoteIGet(), resetA2AIGetFlag(), and setA2AIGetFlag().
void* ampi::Alltoallbuff [private] |
Definition at line 1486 of file ampiimpl.h.
Referenced by Alltoall_RemoteIGet(), resetA2AIGetFlag(), and setA2AIGetFlag().
1.5.5