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.