|
Modules | |
| DMA-Helper Functions | |
| Functions wrapping DMA-Transfers. | |
| Blocking Communication | |
| Internals about blocking Point-to-Point Communication. | |
| Non-Blocking Communication | |
| Internals about non-blocking communication. | |
Internal shared functions | |
| moc_message_envelope_t * | IMOC_get_entry (int source, int tag, MOC_Comm comm, int isSpecial, MOC_Status *status) |
| Get the next valid message-envelope from "source" with specified "tag" and "comm". | |
| int | IMOC_getFreeEntry (moc_message_envelope_t *pqueue, uint8_t tag, MOC_Comm comm, int isSpecial, int *index) |
| Get next free entry in message-queue (a local copy of the message-queue has to be used). | |
| int | IMOC_getFreeMID (int *mid) |
| Get free message-ID. | |
| int | IMOC_waitForMessageCompletion (uint8_t mid) |
| Wait till message with message-ID mid has been received. | |
| int | IMOC_testForMessageCompletion (uint8_t mid, uint8_t *status) |
| Tests if message with message-ID mid has been received. | |
Internal constants | |
| #define | MEMCPY_GET_TRESHOLD 156 |
| Defines a treshold, when to use memcpy and when to use DMA in a get-operation on the PPU. | |
| #define | MEMCPY_PUT_TRESHOLD 2210 |
| Defines a treshold, when to use memcpy and when to use DMA in a put-operation on the PPU. | |
| #define MEMCPY_GET_TRESHOLD 156 |
Defines a treshold, when to use memcpy and when to use DMA in a get-operation on the PPU.
Definition at line 49 of file imoc.h.
Referenced by MOC_Barrier(), MOC_Bsend(), MOC_ISsend(), and MOC_Ssend().
| #define MEMCPY_PUT_TRESHOLD 2210 |
| moc_message_envelope_t* IMOC_get_entry | ( | int | source, | |
| int | tag, | |||
| MOC_Comm | comm, | |||
| int | isSpecial, | |||
| MOC_Status * | status | |||
| ) |
Get the next valid message-envelope from "source" with specified "tag" and "comm".
| source | in rank of sending node | |
| tag | in message-tag | |
| comm | in message-communicator | |
| isSpecial | in true to return special-message | |
| status | inout MOC_status-instance to add some information (e.g. source by MOC_ANY_SOURCE) |
Definition at line 13 of file imoc_get_entry.c.
References moc_message_envelope_struct::bits, moc_node_handle_ppu_struct::comm_size, moc_message_envelope_struct::communicator, moc_message_envelope_struct::flags, IMOC_LOCAL_QUEUE, moc_node_handle_ppu_struct::message_queue_base, MOC_ANY_SOURCE, MOC_ANY_TAG, MOC_Status_struct::MOC_SOURCE, node_handle, moc_node_handle_ppu_struct::queue_size, moc_node_handle_ppu_struct::rank, and moc_message_envelope_struct::tag.
Referenced by MOC_Barrier(), MOC_Iprobe(), MOC_Probe(), and MOC_Recv().

| int IMOC_getFreeEntry | ( | moc_message_envelope_t * | pqueue, | |
| uint8_t | tag, | |||
| MOC_Comm | comm, | |||
| int | isSpecial, | |||
| int * | index | |||
| ) |
Get next free entry in message-queue (a local copy of the message-queue has to be used).
To ensure correct ordering message-tag and -comm and -type has to be specified.
| pqueue | in pointer to local copy of remote message-queue | |
| tag | in message-tag | |
| comm | in message-communicator | |
| isSpecial | in true if message should be a special message | |
| index | out index of free entry |
Definition at line 9 of file imoc_get_free_entry.c.
References moc_message_envelope_struct::bits, MOC_ERR_MESSAGE_EXHAUSTED, node_handle, and moc_node_handle_ppu_struct::queue_size.
Referenced by MOC_Barrier(), MOC_Bsend(), MOC_ISsend(), and MOC_Ssend().

| int IMOC_getFreeMID | ( | int * | mid | ) |
Get free message-ID.
| mid | out free message-ID |
| MOC_SUCCESS | No error; MPI routine completed successfully. | |
| MOC_ERR_MESSAGE_EXHAUSTED | No further messages possible. |
Definition at line 9 of file imoc_get_free_mid.c.
References moc_message_status_struct::bits, moc_node_handle_ppu_struct::comm_size, moc_message_status_struct::flags, MOC_ERR_MESSAGE_EXHAUSTED, node_handle, moc_node_handle_ppu_struct::queue_size, and moc_node_handle_ppu_struct::status_array_base.
Referenced by MOC_Bsend(), MOC_ISsend(), and MOC_Ssend().

| int IMOC_testForMessageCompletion | ( | uint8_t | mid, | |
| uint8_t * | status | |||
| ) |
Tests if message with message-ID mid has been received.
Tests if message-status-flag 'outstanding' is 0.
| mid | in message-ID | |
| status | out status of message |
| MOC_SUCCESS | No error; MPI routine completed successfully. |
Definition at line 9 of file imoc_test_message.c.
References moc_message_status_struct::bits, moc_message_status_struct::flags, node_handle, and moc_node_handle_ppu_struct::status_array_base.
Referenced by MOC_Test().

| int IMOC_waitForMessageCompletion | ( | uint8_t | mid | ) |
Wait till message with message-ID mid has been received.
Waits till message-status-flag 'outstanding' is 0.
| mid | in message-ID |
Definition at line 9 of file imoc_wait_message.c.
References moc_message_status_struct::bits, moc_message_status_struct::flags, node_handle, and moc_node_handle_ppu_struct::status_array_base.
Referenced by MOC_Ssend(), and MOC_Wait().

1.5.6