Go to the source code of this file.
Data Structures | |
| struct | infiIncTokenAckPacket |
| struct | CmiIdleState |
| struct | infiPacketHeader |
| struct | infiRdmaPacket |
| struct | infiBuffer |
| 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 | infiPacketStruct |
| struct | infiBufferedBcastStruct |
| struct | infiBufferedBcastPoolStruct |
| struct | infiContext |
| struct | infiAddr |
| Represents a qp used to send messages to another node There is one for each remote node. More... | |
| struct | infiOtherNodeData |
| struct | infiCmiChunkMetaDataStruct |
| struct | infiCmiChunkPool |
| struct | infiDirectRequestPacket |
| struct | directPollingQNodeStruct |
| struct | infiDirectHandleStruct |
| struct | infiDirectHandleTableStruct |
Typedefs | |
| typedef infiPacketStruct * | infiPacket |
| typedef infiBufferedBcastPoolStruct * | infiBufferedBcastPool |
| typedef infiCmiChunkMetaDataStruct | infiCmiChunkMetaData |
| typedef directPollingQNodeStruct | directPollingQNode |
| typedef infiDirectHandleStruct | infiDirectHandle |
| typedef infiDirectHandleTableStruct | infiDirectHandleTable |
Enumerations | |
| enum | { INFI_HEADER_DATA = 21, INFI_DATA } |
| Stored in the OtherNode structure in machine-dgram.c Store the per node data for ibverbs layer. More... | |
Functions | |
| static CmiIdleState * | CmiNotifyGetState (void) |
| static void | CmiNotifyStillIdle (CmiIdleState *s) |
| static void | CmiNotifyBeginIdle (CmiIdleState *s) |
| void | CmiNotifyIdle (void) |
| static void | initInfiCmiChunkPools () |
| There are INFINUMPOOLS of memory. | |
| static infiPacket | newPacket () |
| static int | pollSendCq (const int toBuffer) |
| void | createLocalQps (struct ibv_device *dev, int ibPort, int myNode, int numNodes, struct infiAddr *localAddr) |
| static uint16_t | getLocalLid (struct ibv_context *context, int port) |
| static int | checkQp (struct ibv_qp *qp) |
| static void | checkAllQps () |
| static void | send_partial_init () |
| void | CmiMachineInit (char **argv) |
| void | CmiCommunicationInit (char **argv) |
| void | copyInfiAddr (ChInfiAddr *qpList) |
| infiBufferPool * | allocateInfiBufferPool (int numRecvs, int sizePerBuffer) |
| void | postInitialRecvs (struct infiBufferPool *recvBufferPool, int numRecvs, int sizePerBuffer) |
| Post the buffers as recv work requests. | |
| infiOtherNodeData * | initInfiOtherNodeData (int node, int addr[3]) |
| void | infiPostInitialRecvs () |
| static void | CommunicationServer_nolock (int withDelayMs) |
| void | CmiMachineExit () |
| static void | ServiceCharmrun_nolock () |
| static void | increaseTokens (OtherNode node) |
| static int | pollRecvCq (const int toBuffer) |
| static void | getFreeTokens (struct infiOtherNodeData *infiData) |
| static void | EnqueuePacket (OtherNode node, infiPacket packet, int size, struct ibv_mr *dataKey) |
| Packetize this data and send it. | |
| static void | EnqueueDummyPacket (OtherNode node, int size) |
| static void | EnqueueDataPacket (OutgoingMsg ogm, OtherNode node, int rank, char *data, int size, int broot, int copy) |
| static void | EnqueueRdmaPacket (OutgoingMsg ogm, OtherNode node) |
| static void | processAllBufferedMsgs () |
| void | DeliverViaNetwork (OutgoingMsg ogm, OtherNode node, int rank, unsigned int broot, int copy) |
| static void | processRecvWC (struct ibv_wc *recvWC, const int toBuffer) |
| static void | processSendWC (struct ibv_wc *sendWC) |
| static void | processAsyncEvents () |
| static void | pollCmiDirectQ () |
| static void | processRdmaWC (struct ibv_wc *rdmaWC, const int toBuffer) |
| int | CheckSocketsReady (int withDelayMs) |
| static void | CommunicationServer (int sleepTime, int where) |
| static void | insertBufferedBcast (char *msg, int size, int broot, int asm_rank) |
| 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) |
| static void | increasePostedRecvs (int nodeNo) |
| static void | processRdmaRequest (struct infiRdmaPacket *rdmaPacket, int fromNodeNo, int isBuffered) |
| static void | processRdmaAck (struct infiRdmaPacket *rdmaPacket) |
| static void | EnqueueRdmaAck (struct infiRdmaPacket *rdmaPacket) |
| static void | processDirectWC (struct infiRdmaPacket *rdmaPacket) |
| static infiBufferedBcastPool | createBcastPool () |
| static void | processBufferedBcast () |
| static void | processBufferedRdmaAcks () |
| static void | processBufferedRdmaRequests () |
| infiCmiChunkMetaData * | registerMultiSendMesg (char *msg, int size) |
| static void * | getInfiCmiChunkThread (int dataSize) |
| static void * | getInfiCmiChunk (int dataSize) |
| void * | infi_CmiAlloc (int size) |
| void | infi_CmiFreeDirect (void *ptr) |
| void | infi_CmiFree (void *ptr) |
| void | addHandleToPollingQ (infiDirectHandle *handle) |
| static infiDirectHandleTable ** | createHandleTable () |
| static void | calcHandleTableIdx (int handle, int *tableIdx, int *idx) |
| static void | initializeLastDouble (void *recvBuf, int recvBufSize, double initialValue) |
| infiDirectUserHandle | CmiDirect_createHandle (int senderNode, void *recvBuf, int recvBufSize, void(*callbackFnPtr)(void *), void *callbackData, double initialValue) |
| To be called on the receiver to create a handle and return its number. | |
| void | CmiDirect_assocLocalBuffer (struct infiDirectUserHandle *userHandle, void *sendBuf, int sendBufSize) |
| void | CmiDirect_put (struct infiDirectUserHandle *userHandle) |
| void | CmiDirect_readyMark (struct infiDirectUserHandle *userHandle) |
| void | CmiDirect_readyPollQ (struct infiDirectUserHandle *userHandle) |
| void | CmiDirect_ready (struct infiDirectUserHandle *userHandle) |
| static int | receivedDirectMessage (infiDirectHandle *handle) |
| static void | sendBarrierMessage (int pe) |
| static void | recvBarrierMessage () |
| int | CmiBarrier () |
| int | CmiBarrierZero () |
Variables | |
| enum ibv_mtu | mtu = IBV_MTU_2048 |
| static int | page_size |
| static int | mtu_size |
| static int | packetSize |
| static int | dataSize |
| static int | rdma |
| static int | rdmaThreshold |
| static int | firstBinSize |
| static int | blockAllocRatio |
| static int | blockThreshold |
| static int | maxRecvBuffers |
| static int | maxTokens |
| static int | sendPacketPoolSize |
| static double | _startTime = 0 |
| static int | regCount |
| static int | pktCount |
| static int | msgCount |
| static int | minTokensLeft |
| static double | regTime |
| static double | processBufferedTime |
| static int | processBufferedCount |
| PCQueue ** | queuePool |
| static int | TESTneighbor |
| static int | TESTfrees |
| static struct infiContext * | context |
| infiCmiChunkPool ** | infiCmiChunkPools |
| static unsigned int | _count = 0 |
| int | errno |
| static int | _countAsync = 0 |
| directPollingQNode * | headDirectPollingQ = NULL |
| directPollingQNode * | tailDirectPollingQ = NULL |
| static infiDirectHandleTable ** | sendHandleTable = NULL |
| static infiDirectHandleTable ** | recvHandleTable = NULL |
| static int * | recvHandleCount = NULL |
contains only Ibverbs specific code for:
created by Sayantan Chakravorty, sayantan@gmail.com ,21st March 2007
Definition in file machine-ibverbs.c.
1.5.1