Scrambler  1
MpiTransmission Module Reference

Manages the MPI sends and receives of packed messages. More...

List of all members.

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.

Detailed Description

Manages the MPI sends and receives of packed messages.

Author:
Brandon D. Shroyer
Date:
8-22-2010

Definition at line 34 of file mpi_transmission.f90.


Member Function/Subroutine Documentation

subroutine, public SetUpSend ( TYPE(PackedMessage), pointer  message)

Sets up the message to be sent. For normal MPI, this means just adding a message block.

Parameters:
messageA 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.

Parameters:
messageThe 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.

Parameters:
messageThe 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.

Parameters:
messageThe 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.

Parameters:
messageThe message to receive

Definition at line 226 of file mpi_transmission.f90.

subroutine, public CancelLastMessageBlockRecv ( TYPE(PackedMessage), pointer  message)

Cancels last message block.

Parameters:
messageThe 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.

Parameters:
sm_groupThe message group being queried for a new message.
messageA 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.

Parameters:
sm_groupThe 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.

Parameters:
messageThe packed message object to have its requests retrieved.
req_arrayA 1D integer array pointer to be set to the request array.
lOpenOnlyAn optional parameter; when set to true, the returned array will have completed requests zeroed out.
lFlagAsCompletedWhen 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.

Parameters:
sm_groupThe group whose requests are being retrieved.
req_arrayA pointer to an array that will be allocated (or not, depending).
lOpenOnlyAn 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.

Parameters:
sm_groupThe group whose requests are being retrieved.
req_arrayA pointer to an array that will be allocated (or not, depending).
lOpenOnlyAn 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.

Parameters:
sm_groupThe group whose requests are being retrieved.
req_arrayA pointer to an array that will be allocated (or not, depending).
lOpenOnlyAn 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.

Parameters:
sm_groupThe group whose requests are being retrieved.
req_arrayA pointer to an array that will be allocated (or not, depending).
lOpenOnlyAn optional parameter; when set to true, the returned array will have completed requests zeroed out.
lFlagAsCompletedWhen 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.


The documentation for this module was generated from the following file:
 All Classes Files Functions Variables