
Go to the source code of this file.
Namespaces | |
| namespace | PUP |
Data Structures | |
| class | PUP::zdisk |
| class | PUP::tozDisk |
| class | PUP::fromzDisk |
| class | AmmEntry< T > |
| class | Amm< T, N > |
| class | AmpiOpHeader |
| class | WinStruct |
| class | lockQueueEntry |
| class | win_obj |
| class | KeyvalPair |
| class | InfoStruct |
| class | ampiTopology |
| class | final |
| class | final |
| class | final |
| class | KeyvalNode |
| class | groupStruct |
| class | ampiCommStruct |
| class | AmpiRequest |
| Represents an MPI request that has been initiated using Isend, Irecv, Ialltoall, Send_init, etc. More... | |
| class | final |
| class | final |
| class | final |
| class | final |
| class | final |
| class | final |
| class | GPUReq |
| class | final |
| class | final |
| class | AmpiRequestList |
| class | memBuf |
| class | final |
| class | AmpiMsgPool |
| class | AmpiRequestPool |
| class | AmpiOtherElement |
| Our local representation of another AMPI array element. More... | |
| class | final |
| class | greq_class_desc |
| class | final |
Typedefs | |
| typedef void(* | MPI_MigrateFn )(void) |
| typedef void(* | AmmPupMessageFn )(PUP::er &p, void **msg) |
| typedef CkQ< lockQueueEntry * > | LockQueue |
Enumerations | |
| enum | AmpiCommType { WORLD = 0, INTRA = 1, INTER = 2 } |
| enum | AmpiReqType { AMPI_INVALID_REQ = 0, AMPI_I_REQ = 1, AMPI_ATA_REQ = 2, AMPI_SEND_REQ = 3, AMPI_SSEND_REQ = 4, AMPI_REDN_REQ = 5, AMPI_GATHER_REQ = 6, AMPI_GATHERV_REQ = 7, AMPI_G_REQ = 8, AMPI_GPU_REQ } |
| enum | AmpiReqSts { AMPI_REQ_PENDING = 0, AMPI_REQ_BLOCKED = 1, AMPI_REQ_COMPLETED = 2 } |
| enum | AmpiSendType { BLOCKING_SEND = false, I_SEND = true } |
Functions | |
| PUPfunctionpointer (MPI_User_function *) class OpStruct | |
| PUPmarshall (ampiCommStruct) class mpi_comm_worlds | |
| void | outputOp (const vector< int > &vec) noexcept |
| int | getPosOp (int idx, const vector< int > &vec) noexcept |
| vector< int > | unionOp (const vector< int > &vec1, const vector< int > &vec2) noexcept |
| vector< int > | intersectOp (const vector< int > &vec1, const vector< int > &vec2) noexcept |
| vector< int > | diffOp (const vector< int > &vec1, const vector< int > &vec2) noexcept |
| int * | translateRanksOp (int n, const vector< int > &vec1, const int *ranks1, const vector< int > &vec2, int *ret) noexcept |
| int | compareVecOp (const vector< int > &vec1, const vector< int > &vec2) noexcept |
| vector< int > | inclOp (int n, const int *ranks, const vector< int > &vec) noexcept |
| vector< int > | exclOp (int n, const int *ranks, const vector< int > &vec) noexcept |
| vector< int > | rangeInclOp (int n, int ranges[][3], const vector< int > &vec, int *flag) noexcept |
| vector< int > | rangeExclOp (int n, int ranges[][3], const vector< int > &vec, int *flag) noexcept |
| void | operator| (PUP::er &p, AmpiReqType &r) |
| template<class T> | |
| void | pupIntoBuf (memBuf &b, T &t) noexcept |
| template<class T> | |
| void | pupFromBuf (const void *data, T &t) noexcept |
| DefinePooledReqX (Size, sizeof) DefinePooledReqX(Align | |
| PUPbytes (AmpiOtherElement) class AmpiSeqQ | |
| PUPmarshall (AmpiSeqQ) inline CProxy_ampi ampiCommStruct | |
| const ampiCommStruct & | universeComm2CommStruct (MPI_Comm universeNo) noexcept |
| ampiParent * | getAmpiParent () noexcept |
| bool | isAmpiThread () noexcept |
| ampi * | getAmpiInstance (MPI_Comm comm) noexcept |
| void | checkComm (MPI_Comm comm) noexcept |
| void | checkRequest (MPI_Request req) noexcept |
| void | handle_MPI_BOTTOM (void *&buf, MPI_Datatype type) noexcept |
| void | handle_MPI_BOTTOM (void *&buf1, MPI_Datatype type1, void *&buf2, MPI_Datatype type2) noexcept |
| int | ampiErrhandler (const char *func, int errcode) noexcept |
Variables | |
| char * | ampi_binary_path |
| static CkListString | msgLogRanks |
| static int | msgLogWrite |
| static int | msgLogRead |
| static char * | msgLogFilename |
| int | AMPI_RDMA_THRESHOLD |
| int | AMPI_SMP_RDMA_THRESHOLD |
| int | _mpi_nworlds |
| static const char * | funclist [] |
| typedef void(* MPI_MigrateFn)(void) |
Definition at line 133 of file ampiimpl.h.
| typedef void(* AmmPupMessageFn)(PUP::er &p, void **msg) |
Definition at line 155 of file ampiimpl.h.
| typedef CkQ<lockQueueEntry *> LockQueue |
Definition at line 325 of file ampiimpl.h.
| enum AmpiCommType |
| enum AmpiReqType |
| AMPI_INVALID_REQ | |
| AMPI_I_REQ | |
| AMPI_ATA_REQ | |
| AMPI_SEND_REQ | |
| AMPI_SSEND_REQ | |
| AMPI_REDN_REQ | |
| AMPI_GATHER_REQ | |
| AMPI_GATHERV_REQ | |
| AMPI_G_REQ | |
| AMPI_GPU_REQ |
Definition at line 1061 of file ampiimpl.h.
| enum AmpiReqSts |
Definition at line 1080 of file ampiimpl.h.
| enum AmpiSendType |
| PUPfunctionpointer | ( | MPI_User_function * | ) |
Definition at line 235 of file ampiimpl.h.
References c, free(), init(), and Amm< T, N >::pup().

| PUPmarshall | ( | ampiCommStruct | ) |
Definition at line 875 of file ampiimpl.h.
References p, and Amm< T, N >::pup().

| void outputOp | ( | const vector< int > & | vec | ) | [inline] |
Definition at line 888 of file ampiimpl.h.
Definition at line 900 of file ampiimpl.h.
Referenced by compareVecOp(), diffOp(), final::getRank(), intersectOp(), translateRanksOp(), and unionOp().

Definition at line 909 of file ampiimpl.h.
References getPosOp().
Referenced by AMPI_API_IMPL().


Definition at line 919 of file ampiimpl.h.
References getPosOp().
Referenced by AMPI_API_IMPL().


Definition at line 929 of file ampiimpl.h.
References getPosOp().
Referenced by AMPI_API_IMPL().


| int* translateRanksOp | ( | int | n, | |
| const vector< int > & | vec1, | |||
| const int * | ranks1, | |||
| const vector< int > & | vec2, | |||
| int * | ret | |||
| ) | [inline] |
Definition at line 939 of file ampiimpl.h.
References getPosOp(), n, and ranks1.
Referenced by AMPI_API_IMPL().


Definition at line 947 of file ampiimpl.h.
References getPosOp().
Referenced by AMPI_API_IMPL().


Definition at line 964 of file ampiimpl.h.
Referenced by AMPI_API_IMPL().

Definition at line 972 of file ampiimpl.h.
Referenced by AMPI_API_IMPL(), and rangeExclOp().

Definition at line 992 of file ampiimpl.h.
References Amm< T, N >::first, flag, n, ranges, and stride.
Referenced by AMPI_API_IMPL().

Definition at line 1014 of file ampiimpl.h.
References exclOp(), Amm< T, N >::first, flag, n, ranges, ranks, and stride.
Referenced by AMPI_API_IMPL().


| void operator| | ( | PUP::er & | p, | |
| AmpiReqType & | r | |||
| ) | [inline] |
Definition at line 1076 of file ampiimpl.h.
References pup_bytes().

| void pupIntoBuf | ( | memBuf & | b, | |
| T & | t | |||
| ) | [inline] |
Definition at line 1597 of file ampiimpl.h.
References PUP::b, PUP::sizer::size(), and PUP::t.
Referenced by ampiCreateMain().


| void pupFromBuf | ( | const void * | data, | |
| T & | t | |||
| ) | [inline] |
Definition at line 1604 of file ampiimpl.h.
References data, p, and PUP::t.
Referenced by PUPmarshall().

| DefinePooledReqX | ( | Size | , | |
| sizeof | ||||
| ) |
| PUPbytes | ( | AmpiOtherElement | ) |
Insert this message in the table. Returns the number of messages now available for the element. If 0, the message was out-of-order and is buffered. If 1, this message can be immediately processed. If >1, this message can be immediately processed, and you should call "getOutOfOrder" repeatedly.
Is this message in order (return >0) or not (return 0)? Same as put() except we don't call putOutOfOrder() here, so the caller should do that separately
Get an out-of-order message from the table. (in-order messages never go into the table)
Stash an out-of-order message
Increment the outgoing sequence number.
Return the next outgoing sequence number, and increment it.
Definition at line 1842 of file ampiimpl.h.
References AmpiOtherElement::getNumOutOfOrder(), AmpiOtherElement::getSeqIncoming(), AmpiOtherElement::getSeqOutgoing(), AmpiOtherElement::incSeqIncoming(), AmpiOtherElement::incSeqOutgoing(), min(), p, Amm< T, N >::pup(), Amm< T, N >::put(), and srcRank.

| PUPmarshall | ( | AmpiSeqQ | ) |
Definition at line 1907 of file ampiimpl.h.
| const ampiCommStruct& universeComm2CommStruct | ( | MPI_Comm | universeNo | ) |
Definition at line 2615 of file ampi.C.
Referenced by final::comm2CommStruct().

| ampiParent* getAmpiParent | ( | ) |
Definition at line 3876 of file ampi.C.
References p.
Referenced by AMPI_API_IMPL(), AMPI_Iget(), AMPI_Iget_free(), AMPI_Iget_wait(), AMPI_Load_set_value(), AMPI_Migrate(), AMPI_Print(), AMPI_Register_about_to_migrate(), AMPI_Register_just_migrated(), AMPI_Set_migratable(), AMPI_Suspend(), AMPI_Yield(), ampiInit(), checkComm(), errorCheck(), getAmpiInstance(), getDDT(), getReqs(), makeRednMsg(), testRequest(), and GPUReq::wait().

| bool isAmpiThread | ( | ) |
Definition at line 3892 of file ampi.C.
Referenced by AMPI_API_IMPL().

| ampi* getAmpiInstance | ( | MPI_Comm | comm | ) |
Definition at line 3884 of file ampi.C.
References getAmpiParent().
Referenced by AMPI_Alltoall_long(), AMPI_Alltoall_medium(), AMPI_Alltoall_short(), AMPI_API_IMPL(), AMPI_GPU_Iinvoke(), AMPI_GPU_Iinvoke_wr(), AMPI_Iget(), AMPI_Iget_free(), AMPI_Iget_wait(), AMPI_Migrate(), AMPI_Resume(), AMPI_Set_start_event(), checkRank(), createCommSelf(), GPUReq::GPUReq(), MPI_Pack_size(), MPICH_Localcopy(), MPID_Datatype_get_extent_macro(), and MPID_Datatype_get_size_macro().


| void checkComm | ( | MPI_Comm | comm | ) | [inline] |
Definition at line 3900 of file ampi.C.
References getAmpiParent().

| void checkRequest | ( | MPI_Request | req | ) | [inline] |
Definition at line 3906 of file ampi.C.
References AmpiRequestList::checkRequest(), and getReqs().
Referenced by AMPI_API_IMPL(), testRequest(), and testRequestNoFree().


| void handle_MPI_BOTTOM | ( | void *& | buf, | |
| MPI_Datatype | type | |||
| ) |
Definition at line 2922 of file ampi.C.
References getDDT(), CkDDT_DataType::getLB(), CkDDT::getType(), CkDDT_DataType::setAbsolute(), and type.
Referenced by AMPI_API_IMPL().


| void handle_MPI_BOTTOM | ( | void *& | buf1, | |
| MPI_Datatype | type1, | |||
| void *& | buf2, | |||
| MPI_Datatype | type2 | |||
| ) |
Definition at line 2930 of file ampi.C.
References getDDT(), CkDDT_DataType::getLB(), CkDDT::getType(), and CkDDT_DataType::setAbsolute().

Definition at line 43 of file ampi.C.
Referenced by AMPI_API_IMPL(), checkBuf(), checkCommunicator(), checkCount(), checkData(), checkRank(), checkTag(), and errorCheck().

| char* ampi_binary_path |
CkListString msgLogRanks [static] |
int msgLogWrite [static] |
int msgLogRead [static] |
char* msgLogFilename [static] |
const char* funclist[] [static] |
1.5.5