Scrambler
1
|
Contains routines for managing messages. More...
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.