|
Scrambler
1
|
Contains routines for managing messages. More...
Collaboration diagram for MessageDeclarations:Data Types | |
| type | MessageBlock |
| Contains a list of data blocks for receiving messages. More... | |
| type | MessageList |
| Contains a list of packed messages. More... | |
| type | PackedMessage |
| Contains data needed for a single processor to processor message. More... | |
| type | ProcessorList |
| Contains a list of processors. More... | |
| type | pStageMessageGroup |
| Contains a pointer to a StageMessageGroup. More... | |
| type | RequestList |
| Contains lists of mpi_requests. More... | |
| type | StageMessageGroup |
| Contains information about all messages in a given stage. More... | |
Public Member Functions | |
MessageBlock routines | |
| subroutine, public | CreateMessageBlock (message_size, last_block, first_block, current_block) |
| Adds a new MessageBlock structure to the the block list passed in. | |
| recursive subroutine, public | ClearMessageBlocks (block_list) |
| Deletes elements from a MessageBlock list structure, starting with the referenced request. | |
| subroutine, public | ClearAllMessageBlocks (message) |
| Deletes all message blocks associated with a message object. | |
| subroutine, public | AddMessageBlock (message, init_message, message_size) |
| Adds a new message block to the message object. | |
PackedMessage routines | |
| subroutine, public | CreatePackedMessageObject (level, remote_proc, tag, lSend, message_size, message) |
| Initializes a PackedMessage data structure. | |
| subroutine, public | DestroyPackedMessageObject (message) |
| Deallocates the message object and all associated data structures. | |
MessageList routines | |
| subroutine, public | AddMessageToList (message, last_message, msg_list) |
| Appends a MessageList object (with accompanying PackedMessage object) to the end of a list. | |
| recursive subroutine, public | DestroyMessageListObject (message_list) |
| Destroys a MessageList object and all its children. DO NOT USE THIS SUBROUTINE AT THE PARSING LAYER OR ABOVE. | |
StageMessageGroup routines | |
| subroutine, public | CreateMessageGroupObject (sm_group, iStageTag, lSend, level) |
| Creates a StageMessageGroup object. Note that this does NOT populate it with messages. | |
| subroutine, public | DestroyMessageGroupObject (sm_group) |
| Releases all memory referenced by a message group. DO NOT USE THIS SUBROUTINE AT THE PARSING LAYER OR ABOVE. | |
Public Attributes | |
| INTEGER, parameter, public | STD_BUFFER_SIZE = 16384 |
| INTEGER, parameter, public | I_FIRST_REQUESTS = 1 |
| INTEGER, parameter, public | I_CURRENT_REQUESTS = 2 |
| INTEGER, parameter, public | I_LAST_REQUESTS = 3 |
| INTEGER, parameter, public | MAX_MESSAGE_PIECES = 100 |
RequestList routines | |
| subroutine, public | CreateMpiRequest (mpi_request, last_request, first_request, current_request) |
| Adds a new MpiRequest structure to the PackedMessage structure. | |
| subroutine, public | ClearAllRequests (message) |
| Deletes all MPI message requests associated with a message object. | |
| subroutine, public | AddMpiRequest (message, request, init_message) |
| Adds an MPI request to the message object. | |
| recursive subroutine | ClearRequestList (request_list) |
| Deletes elements from an MPI RequestList structure, starting with the referenced request. | |
ProcessorList routines | |
| subroutine, public | AppendProcessorToList (proc_id, last_proc, proc_list) |
| Appends a new processor to the processor list. This subroutine will not fail on a duplicate entry, but it will not append duplicates. | |
| subroutine, public | AddProcessorToMGList (sm_group, proc_id) |
| Appends a Processor to a MessageGroup's processor list. | |
| recursive subroutine | ClearProcessorList (proc_list) |
| Deallocates and nullifies a processor list, starting with the given ProcessorList structure. | |
Contains routines for managing messages.
Definition at line 34 of file message_declarations.f90.
| subroutine, public CreateMpiRequest | ( | INTEGER | mpi_request, |
| TYPE(RequestList), pointer | last_request, | ||
| TYPE(RequestList), optional, pointer | first_request, | ||
| TYPE(RequestList), optional, pointer | current_request | ||
| ) |
Adds a new MpiRequest structure to the PackedMessage structure.
| mpi_request | An MPI request handle. |
| last_request | The request list to which request will be appended. |
| first_request | An optional parameter indicating the first node in the last_request request list. |
| current_request | Another optional parameter providing another pointer that will point to the new request. |
Definition at line 140 of file message_declarations.f90.
| recursive subroutine ClearRequestList | ( | TYPE(RequestList), pointer | request_list | ) | [private] |
Deletes elements from an MPI RequestList structure, starting with the referenced request.
| request_list | A reference to a request list. |
Definition at line 189 of file message_declarations.f90.
| subroutine, public ClearAllRequests | ( | TYPE(PackedMessage), pointer | message | ) |
Deletes all MPI message requests associated with a message object.
| message | The PackedMessage object to be cleared of requests. |
Definition at line 206 of file message_declarations.f90.
| subroutine, public AddMpiRequest | ( | TYPE(PackedMessage), pointer | message, |
| INTEGER | request, | ||
| LOGICAL | init_message | ||
| ) |
Adds an MPI request to the message object.
| message | A packed message object to hold the request. |
| request | An MPI request handle. |
| init_message | A logical flag indicating whether or not this is being called when the message is initialized. |
Definition at line 223 of file message_declarations.f90.
| subroutine, public CreateMessageBlock | ( | INTEGER | message_size, |
| TYPE(MessageBlock), pointer | last_block, | ||
| TYPE(MessageBlock), optional, pointer | first_block, | ||
| TYPE(MessageBlock), optional, pointer | current_block | ||
| ) |
Adds a new MessageBlock structure to the the block list passed in.
| message_size | The size of the new block to be created. |
| last_block | The MessageBlock list to which the new block will be appended. |
| first_block | An optional MessageBlock pointer that will point to a freshly-created MessageBlock list. |
| current_block | Another optional MessageBlock pointer that will point to a freshly-created MessageBlock list. |
Definition at line 250 of file message_declarations.f90.
| recursive subroutine, public ClearMessageBlocks | ( | TYPE(MessageBlock), pointer | block_list | ) |
Deletes elements from a MessageBlock list structure, starting with the referenced request.
| block_list | A reference to a message block list list. |
Definition at line 300 of file message_declarations.f90.
| subroutine, public ClearAllMessageBlocks | ( | TYPE(PackedMessage), pointer | message | ) |
Deletes all message blocks associated with a message object.
| message | The PackedMessage object to be cleared of message blocks. |
Definition at line 317 of file message_declarations.f90.
| subroutine, public AddMessageBlock | ( | TYPE(PackedMessage), pointer | message, |
| LOGICAL | init_message, | ||
| INTEGER | message_size | ||
| ) |
Adds a new message block to the message object.
| message | A packed message object to hold the new message block. |
| init_message | A logical flag indicating whether or not this is being called when the message is initialized. |
| message_size | The size of the new message block's buffer. |
Definition at line 334 of file message_declarations.f90.
| subroutine, public CreatePackedMessageObject | ( | INTEGER | level, |
| INTEGER | remote_proc, | ||
| INTEGER | tag, | ||
| LOGICAL | lSend, | ||
| INTEGER | message_size, | ||
| TYPE(PackedMessage), pointer | message | ||
| ) |
Initializes a PackedMessage data structure.
| level | The level on which the creating process is working. |
| remote_proc | The ID of the processor with which this object will interact. |
| tag | The MPI message tag this object's MPI message will have. |
| lSend | Flag whether message is to be sent or received |
| message_size | The size of the message buffer to be created. |
| message | A pointer for the new message object. |
Definition at line 382 of file message_declarations.f90.
| subroutine, public DestroyPackedMessageObject | ( | TYPE(PackedMessage), pointer | message | ) |
Deallocates the message object and all associated data structures.
| message | A message object to be deallocated. |
Definition at line 437 of file message_declarations.f90.
| subroutine, public AddMessageToList | ( | TYPE(PackedMessage), pointer | message, |
| TYPE(MessageList), pointer | last_message, | ||
| TYPE(MessageList), optional, pointer | msg_list | ||
| ) |
Appends a MessageList object (with accompanying PackedMessage object) to the end of a list.
| message | The PackedMessage object to be appended to the list (this must be an associated object). |
| msg_list | The MessageList to receive a new member. |
| last_message | The last message in the message list |
Definition at line 460 of file message_declarations.f90.
| recursive subroutine, public DestroyMessageListObject | ( | TYPE(MessageList), pointer | message_list | ) |
Destroys a MessageList object and all its children. DO NOT USE THIS SUBROUTINE AT THE PARSING LAYER OR ABOVE.
| message_list | A pointer to the message list being destroyed. |
Definition at line 506 of file message_declarations.f90.
| subroutine, public CreateMessageGroupObject | ( | TYPE(StageMessageGroup), pointer | sm_group, |
| INTEGER | iStageTag, | ||
| LOGICAL | lSend, | ||
| INTEGER | level | ||
| ) |
Creates a StageMessageGroup object. Note that this does NOT populate it with messages.
| sm_group | The StageMessageGroup object being filled out. |
| iStageTag | The MPI tag identifier of the stage this StageMessageGroup is handling. |
| lSend | Set to true if this is a sending operation; false if it is a receiving operation. |
| level | The level of the current transmissions. |
Definition at line 531 of file message_declarations.f90.
| subroutine, public DestroyMessageGroupObject | ( | TYPE(StageMessageGroup), pointer | sm_group | ) |
Releases all memory referenced by a message group. DO NOT USE THIS SUBROUTINE AT THE PARSING LAYER OR ABOVE.
| sm_group | The StageMessageGroup object to be destroyed. |
Definition at line 567 of file message_declarations.f90.
| subroutine, public AppendProcessorToList | ( | INTEGER | proc_id, |
| TYPE(ProcessorList), pointer | last_proc, | ||
| TYPE(ProcessorList), optional, pointer | proc_list | ||
| ) |
Appends a new processor to the processor list. This subroutine will not fail on a duplicate entry, but it will not append duplicates.
| proc_list | The processor list to receive a new entry. |
| proc_id | The processor ID be appended to the list. |
| last_proc | The last processor in the list |
Definition at line 593 of file message_declarations.f90.
| subroutine, public AddProcessorToMGList | ( | TYPE(StageMessageGroup), pointer | sm_group, |
| INTEGER | proc_id | ||
| ) |
Appends a Processor to a MessageGroup's processor list.
| sm_group | The MessageGroup object |
| proc_id | The processor ID |
Definition at line 627 of file message_declarations.f90.
| recursive subroutine ClearProcessorList | ( | TYPE(ProcessorList), pointer | proc_list | ) | [private] |
Deallocates and nullifies a processor list, starting with the given ProcessorList structure.
| proc_list | The head of the processor list to be cleared. |
Definition at line 647 of file message_declarations.f90.
| INTEGER, parameter, public STD_BUFFER_SIZE = 16384 |
Definition at line 49 of file message_declarations.f90.
| INTEGER, parameter, public I_FIRST_REQUESTS = 1 |
Definition at line 53 of file message_declarations.f90.
| INTEGER, parameter, public I_CURRENT_REQUESTS = 2 |
Definition at line 54 of file message_declarations.f90.
| INTEGER, parameter, public I_LAST_REQUESTS = 3 |
Definition at line 55 of file message_declarations.f90.
| INTEGER, parameter, public MAX_MESSAGE_PIECES = 100 |
Definition at line 59 of file message_declarations.f90.