
contains only ibverbs specific code for:
More...
Go to the source code of this file.
Data Structures | |
| struct | ibudstruct |
| struct | infiPacketHeader |
| struct | infiAddr |
| Represents a qp used to send messages to another node There is one for each remote node. More... | |
| struct | infiPacketStruct |
| struct | infiContext |
| struct | infiOtherNodeData |
| struct | CmiIdleState |
| struct | infiBuffer |
| struct | infiCmiChunkMetaDataStruct |
| struct | infiBufferPool |
| At the moment it is a simple pool with just a list of buffers TODO; extend it to make it an element in a linklist of pools. More... | |
| struct | infiCmiChunkPool |
Typedefs | |
| typedef struct infiPacketStruct * | infiPacket |
| typedef struct infiCmiChunkMetaDataStruct | infiCmiChunkMetaData |
Enumerations | |
| enum | { INFI_HEADER_DATA = 21, INFI_DATA } |
Functions | |
| const char * | ibv_wc_status_str (enum ibv_wc_status status) |
| void | infi_unregAndFreeMeta (void *md) |
| static void * | getInfiCmiChunk (int dataSize) |
| void * | infi_CmiAlloc (int size) |
| void | infi_CmiFree (void *ptr) |
| static void | initInfiCmiChunkPools () |
| There are INFINUMPOOLS of memory. | |
| void | postInitialRecvs (struct infiBufferPool *recvBufferPool, int numRecvs, int sizePerBuffer) |
| Post the buffers as recv work requests. | |
| struct infiBufferPool * | allocateInfiBufferPool (int numRecvs, int sizePerBuffer) |
| void | infiPostInitialRecvs () |
| static CmiIdleState * | CmiNotifyGetState (void) |
| static void | CmiNotifyStillIdle (CmiIdleState *s) |
| static void | CmiNotifyBeginIdle (CmiIdleState *s) |
| static void | CommunicationServer_lock (int toBuffer) |
| static void | CommunicationServer_nolock (int withDelayMs) |
| void | CmiNotifyIdle (void) |
| int | CheckSocketsReady (int withDelayMs) |
| static infiPacket | newPacket () |
| static void | EnqueuePacket (OtherNode node, infiPacket packet, int size, struct ibv_mr *dataKey) |
| Packetize this data and send it. | |
| static void | EnqueueDataPacket (OutgoingMsg ogm, char *data, int size, OtherNode node, int rank, int broot) |
| void | DeliverViaNetwork (OutgoingMsg ogm, OtherNode node, int rank, unsigned int broot, int copy) |
| static void | ServiceCharmrun_nolock () |
| static void | handoverMessage (char *newmsg, int total_size, int rank, int broot, int toBuffer) |
| static void | processMessage (int nodeNo, int len, char *msg, const int toBuffer) |
| void | processSendWC (struct ibv_wc *sendWC) |
| void | processRecvWC (struct ibv_wc *recvWC, const int toBuffer) |
| static int | pollCq (const int toBuffer, struct ibv_cq *cq) |
| static uint16_t | getLocalLid (struct ibv_context *dev_context, int port) |
| struct infiAddr * | initinfiAddr (int node, int lid, int qpn, int psn) |
| struct infiOtherNodeData * | initinfiData (int node, int lid, int qpn, int psn) |
| void | CmiHandleImmediate () |
| static void | CommunicationServer (int sleepTime, int where) |
| static void | sendBarrierMessage (int pe) |
| static void | recvBarrierMessage () |
| int | CmiBarrier () |
| int | CmiBarrierZero () |
| void | createqp (struct ibv_device *dev) |
| void | createah () |
| void | CmiMachineInit (char **argv) |
| void | CmiCommunicationInit (char **argv) |
| void | CmiMachineExit () |
Variables | |
| enum ibv_mtu | mtu = IBV_MTU_2048 |
| static int | mtu_size |
| static int | maxrecvbuffers |
| static int | maxtokens |
| static int | firstBinSize |
| static int | blockThreshold |
| static int | blockAllocRatio |
| static int | packetsize |
| struct ibudstruct | ibud |
| static struct infiContext * | context |
| static const char *const | __ibv_wc_status_str [] |
| infiCmiChunkPool | infiCmiChunkPools [INFINUMPOOLS] |
contains only ibverbs specific code for:
Eric Shook and Esteban Meneses - Jul 22, 2008
Definition in file machine-ibud.c.
1.5.5