|
Scrambler
1
|
Manages the MPI sends and receives of packed messages. More...
Public Member Functions | |
| subroutine, public | SetUpSend (message) |
| Sets up the message to be sent. For normal MPI, this means just adding a message block. | |
| subroutine, public | SendPackedMessage (message) |
| Sends the current block of the specified message and creates a new block if necessary. | |
| subroutine, public | WaitOnMessageBlocks (message) |
| Wait until all blocks associated with the packed message are sent. | |
| subroutine, public | SetUpRecv (message) |
| Sets up an MPI receive for the specified message. For delta-MPI, this means creating a new message blcok and calling a delta-recv. | |
| subroutine, public | ReceivePackedMessage (message) |
| Receives a packed message. | |
| subroutine, public | CancelLastMessageBlockRecv (message) |
| Cancels last message block. | |
| subroutine, public | WaitOnAnyMessageGroupRecv (sm_group, message, request_type) |
| Waits until at least one message from the specified group has received a message block. Returns a reference to that message. | |
| subroutine, public | WaitOnAllMessageGroupSends (sm_group) |
| Waits for all current message blocks to keep sending. Intended for use right before deallocating a StageMessageGroup object. | |
| subroutine | GetRequestArray (message, req_array, lOpenOnly, lFlagAsCompleted) |
| Returns the request list as a 1D integer array. | |
| subroutine, public | GetMGAllRequestsArray (sm_group, req_array, lOpenOnly, lFlagAsCompleted) |
| Retrieves all message block requests for all members of a message group and presents them as an array. | |
Private Member Functions | |
| subroutine | GetMGFirstRequestArray (sm_group, req_array, lOpenOnly) |
| Retrieves the first message block requests for all members of a message group and presents them as an array. | |
| subroutine | GetMGCurrentRequestArray (sm_group, req_array, lOpenOnly) |
| Retrieves the current message block requests for all members of a message group and presents them as an array. | |
| subroutine | GetMGLastRequestArray (sm_group, req_array, lOpenOnly) |
| Retrieves the last message block requests for all members of a message group and presents them as an array. | |
Manages the MPI sends and receives of packed messages.
Definition at line 34 of file mpi_transmission.f90.
| subroutine, public SetUpSend | ( | TYPE(PackedMessage), pointer | message | ) |
Sets up the message to be sent. For normal MPI, this means just adding a message block.
| message | A packed message to be sent. |
Definition at line 53 of file mpi_transmission.f90.
| subroutine, public SendPackedMessage | ( | TYPE(PackedMessage), pointer | message | ) |
Sends the current block of the specified message and creates a new block if necessary.
| message | The packed message to be sent. |
Definition at line 69 of file mpi_transmission.f90.
| subroutine, public WaitOnMessageBlocks | ( | TYPE(PackedMessage), pointer | message | ) |
Wait until all blocks associated with the packed message are sent.
| message | The packed message object whose sends are being completed. |
Definition at line 127 of file mpi_transmission.f90.
| subroutine, public SetUpRecv | ( | TYPE(PackedMessage), pointer | message | ) |
Sets up an MPI receive for the specified message. For delta-MPI, this means creating a new message blcok and calling a delta-recv.
| message | The packed message object intended to receive data. |
Definition at line 179 of file mpi_transmission.f90.
| subroutine, public ReceivePackedMessage | ( | TYPE(PackedMessage), pointer | message | ) |
Receives a packed message.
| message | The message to receive |
Definition at line 226 of file mpi_transmission.f90.
| subroutine, public CancelLastMessageBlockRecv | ( | TYPE(PackedMessage), pointer | message | ) |
Cancels last message block.
| message | The message to cancel the last block for |
Definition at line 277 of file mpi_transmission.f90.
| subroutine, public WaitOnAnyMessageGroupRecv | ( | TYPE(StageMessageGroup) | sm_group, |
| TYPE(PackedMessage), pointer | message, | ||
| INTEGER | request_type | ||
| ) |
Waits until at least one message from the specified group has received a message block. Returns a reference to that message.
| sm_group | The message group being queried for a new message. |
| message | A PackedMessage object pointer that has received a message. If this returns null, then all messages have received at least one block. |
| request_type | (first_request, current_request, last_request) |
Definition at line 305 of file mpi_transmission.f90.
| subroutine, public WaitOnAllMessageGroupSends | ( | TYPE(StageMessageGroup), pointer | sm_group | ) |
Waits for all current message blocks to keep sending. Intended for use right before deallocating a StageMessageGroup object.
| sm_group | The StageMessageGroupObject whose messages are |
Definition at line 410 of file mpi_transmission.f90.
| subroutine GetRequestArray | ( | TYPE(PackedMessage), pointer | message, |
| INTEGER, dimension(:), pointer | req_array, | ||
| LOGICAL, optional | lOpenOnly, | ||
| LOGICAL, optional | lFlagAsCompleted | ||
| ) |
Returns the request list as a 1D integer array.
| message | The packed message object to have its requests retrieved. |
| req_array | A 1D integer array pointer to be set to the request array. |
| lOpenOnly | An optional parameter; when set to true, the returned array will have completed requests zeroed out. |
| lFlagAsCompleted | When set to true, this optional parameter flags all open requests as closed. BE SURE TO FOLLOW THIS OPERATION IMMEDIATELY WITH A WAITALL. |
Definition at line 459 of file mpi_transmission.f90.
| subroutine GetMGFirstRequestArray | ( | TYPE(StageMessageGroup) | sm_group, |
| INTEGER, dimension(:), pointer | req_array, | ||
| LOGICAL, optional | lOpenOnly | ||
| ) | [private] |
Retrieves the first message block requests for all members of a message group and presents them as an array.
| sm_group | The group whose requests are being retrieved. |
| req_array | A pointer to an array that will be allocated (or not, depending). |
| lOpenOnly | An optional parameter; when set to true, the returned array will have completed requests zeroed out. |
Definition at line 530 of file mpi_transmission.f90.
| subroutine GetMGCurrentRequestArray | ( | TYPE(StageMessageGroup) | sm_group, |
| INTEGER, dimension(:), pointer | req_array, | ||
| LOGICAL, optional | lOpenOnly | ||
| ) | [private] |
Retrieves the current message block requests for all members of a message group and presents them as an array.
| sm_group | The group whose requests are being retrieved. |
| req_array | A pointer to an array that will be allocated (or not, depending). |
| lOpenOnly | An optional parameter; when set to true, the returned array will have completed requests zeroed out. |
Definition at line 593 of file mpi_transmission.f90.
| subroutine GetMGLastRequestArray | ( | TYPE(StageMessageGroup) | sm_group, |
| INTEGER, dimension(:), pointer | req_array, | ||
| LOGICAL, optional | lOpenOnly | ||
| ) | [private] |
Retrieves the last message block requests for all members of a message group and presents them as an array.
| sm_group | The group whose requests are being retrieved. |
| req_array | A pointer to an array that will be allocated (or not, depending). |
| lOpenOnly | An optional parameter; when set to true, the returned array will have completed requests zeroed out. |
Definition at line 652 of file mpi_transmission.f90.
| subroutine, public GetMGAllRequestsArray | ( | TYPE(StageMessageGroup) | sm_group, |
| INTEGER, dimension(:), pointer | req_array, | ||
| LOGICAL, optional | lOpenOnly, | ||
| LOGICAL, optional | lFlagAsCompleted | ||
| ) |
Retrieves all message block requests for all members of a message group and presents them as an array.
| sm_group | The group whose requests are being retrieved. |
| req_array | A pointer to an array that will be allocated (or not, depending). |
| lOpenOnly | An optional parameter; when set to true, the returned array will have completed requests zeroed out. |
| lFlagAsCompleted | When set to true, this optional parameter flags all open requests as closed. BE SURE TO FOLLOW THIS OPERATION IMMEDIATELY WITH A WAITALL. |
Definition at line 711 of file mpi_transmission.f90.