Scrambler  1
MpiPacking Module Reference

Defines the packing interface that organizes data from the parsing layer into MPI message blocks. More...

List of all members.

Data Types

interface  PackData
 Generic interface for Packing Data. More...
interface  PackList
 Generic interface for Packing Lists. More...
interface  UnpackData
 Generic interface for UnPacking Data. More...
interface  UnpackList
 Generic interface for UnPacking lists. More...

Private Member Functions

PACKING ROUTINES
subroutine PackInt0D (message, type_data)
 Packs an integer scalar into the given packed message.
subroutine PackInt1D (message, type_array)
 Packs a 1D integer array into the given packed message.
subroutine PackInt2D (message, type_array)
 Packs a 2D integer array into the given packed message.
subroutine PackInt3D (message, type_array)
 Packs a 3D integer array into the given packed message.
subroutine PackInt4D (message, type_array)
 Packs a 4D integer array into the given packed message.
subroutine PackFloat0D (message, type_data)
 Packs an floating-point scalar into the given packed message.
subroutine PackFloat1D (message, type_array)
 Packs a 1D floating-point array into the given packed message.
subroutine PackFloat2D (message, type_array)
 Packs a 2D floating-point array into the given packed message.
subroutine PackFloat3D (message, type_array)
 Packs a 3D floating-point array into the given packed message.
subroutine PackFloat4D (message, type_array)
 Packs a 3D floating-point array into the given packed message.
subroutine PackDouble0D (message, type_data)
 Packs an double-precision scalar into the given packed message.
subroutine PackDouble1D (message, type_array)
 Packs a 1D double-precision array into the given packed message.
subroutine PackDouble2D (message, type_array)
 Packs a 2D double-precision array into the given packed message.
subroutine PackDouble3D (message, type_array)
 Packs a 3D double-precision array into the given packed message.
subroutine PackDouble4D (message, type_array)
 Packs a 4D double-precision array into the given packed message.
subroutine PackBoundary (message, boundary)
 Unpacks a Boundaries Type from the specified message using several lower-level unpacking routines.
subroutine PackBox (message, box)
 Packs a NodeBox into the specified message using several lower-level packing routines.
SIZED LIST PACKING ROUTINES
subroutine PackIntList (message, array)
 Packs an integer list of arbitrary size into the given message. Unlike PackInt1D, PackIntList includes the size of the array.
subroutine PackFloatList (message, array)
 Packs a floating-point list of arbitrary size into the given message. Unlike PackFloat1D, PackIntList includes the size of the array.
subroutine PackDoubleList (message, array)
 Packs a double-precision list of arbitrary size into the given message. Unlike PackDouble1D, PackDoubleList includes the size of the array.
SIZED LIST UNPACKING ROUTINES
subroutine UnpackIntList (message, type_array)
 Unpacks an integer list, using the list size given in the buffer. Assumes that the list size precedes the list in the buffer.
subroutine UnpackFloatList (message, type_array)
 Unpacks an floating-point list, using the list size given in the buffer. Assumes that the list size precedes the list in the buffer.
subroutine UnpackDoubleList (message, type_array)
 Unpacks an double-precision list, using the list size given in the buffer. Assumes that the list size precedes the list in the buffer.

PACKEDMESSAGE ROUTINES

subroutine, public CreatePackedMessage (level, remote_proc, tag, lSend, message, message_size)
 Creates a PackedMessage object and initializes the MPI communications associated with it.
subroutine, public DestroyPackedMessage (message)
 Closes all MPI traffic associated with a message and then deallocates the object.
subroutine, public ClosePackedMessage (message)
 Sends the contents of the current message block and then indicates that the message is closed.
LOGICAL function MessageIsClosed (message)
 Returns wheter a message is closed.

MESSAGEGROUP ROUTINES

subroutine, public CreateMessageGroup (sm_group, iStageTag, lSend, level)
 Initializes all the values in a StageMessageGroup.
subroutine, public CloseMessageGroup (sm_group)
 Closes all messages within a given message group.
subroutine, public DestroyMessageGroup (sm_group)
 Safely dallocates all memory associated with a message group.
subroutine, public ExtractMessageFromGroup (sm_group, proc_id, message, message_size)
 Takes a processor ID and returns the corresponding message object from the message group. If the object doesn't exist, it will be created.
subroutine, public RemoveFirstMessageFromGroup (sm_group)
 Closes and deletes the first message associated with a message group.
subroutine, public MGBlockOnFirstMessages (sm_group, message)
 Waits until at least one message from the specified group has received its first message block. Returns a reference to that message.
subroutine, public MGFinishMessageGroupMessages (sm_group)
 Blocks on all message requests until they complete. Note that it blocks on sends and recvs differently.
subroutine, public GetProcListAsArray (sm_group, proc_array)
 Retrieves a StageMessageGroup's processor list as an array. This subroutine assumes that the processor list has no duplicate entries.
subroutine, public PackTerminationBox (message)
 Packs a termination box into a packed message array. Usually this occurs at the end of the message.
subroutine, public SendTerminationBox (MessageGroup)
 Sends a termination box to each message of a message group.
subroutine AddMessageToGroupList (sm_group, message)
 Adds a PackedMessage object to a message group's list.
LOGICAL function MessageGroupIsAllClosed (sm_group)
 Returns true if all the packed messages in a given message group are closed.

UNPACKING ROUTINES

LOGICAL function, public GetNextBox (message, mGlobal)
LOGICAL function, public StrictGetNextBox (message, mGlobal, caller)
subroutine UnpackInt0D (message, type_data)
 Extracts an integer scalar from a packed message. Note that the input pointer must be associated.
subroutine UnpackInt1D (message, type_array)
 Extracts a 1D integer array from a packed message. Note that the input pointer must be associated.
subroutine UnpackInt2D (message, type_array)
 Extracts a 2D integer array from a packed message. Note that the input pointer must be associated.
subroutine UnpackInt3D (message, type_array)
 Extracts a 3D integer array from a packed message. Note that the input pointer must be associated.
subroutine UnpackInt4D (message, type_array)
 Extracts a 4D integer array from a packed message. Note that the input pointer must be associated.
subroutine UnpackFloat0D (message, type_data)
 Extracts an floating-point scalar from a packed message. Note that the input pointer must be associated.
subroutine UnpackFloat1D (message, type_array)
 Extracts a 1D floating-point array from a packed message. Note that the input pointer must be associated.
subroutine UnpackFloat2D (message, type_array)
 Extracts a 2D floating-point array from a packed message. Note that the input pointer must be associated.
subroutine UnpackFloat3D (message, type_array)
 Extracts a 3D floating-point array from a packed message. Note that the input pointer must be associated.
subroutine UnpackFloat4D (message, type_array)
 Extracts a 4D floating-point array from a packed message. Note that the input pointer must be associated.
subroutine UnpackDouble0D (message, type_data)
 Extracts an double-precision scalar from a packed message. Note that the input pointer must be associated.
subroutine UnpackDouble1D (message, type_array)
 Extracts a 1D double-precision array from a packed message. Note that the input pointer must be associated.
subroutine UnpackDouble2D (message, type_array)
 Extracts a 2D double-precision array from a packed message. Note that the input pointer must be associated.
subroutine UnpackDouble3D (message, type_array)
 Extracts a 3D double-precision array from a packed message. Note that the input pointer must be associated.
subroutine UnpackDouble4D (message, type_array)
 Extracts a 4D double-precision array from a packed message. Note that the input pointer must be associated.
subroutine UnpackBoundary (message, boundary)
 Unpacks a Boundaries Type from the specified message using several lower-level unpacking routines.
subroutine UnpackBox (message, box)
 Unpacks a NodeBox into the specified message using several lower-level unpacking routines.

Detailed Description

Defines the packing interface that organizes data from the parsing layer into MPI message blocks.

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

Definition at line 34 of file mpi_packing.f90.


Member Function/Subroutine Documentation

subroutine, public CreatePackedMessage ( INTEGER  level,
INTEGER  remote_proc,
INTEGER  tag,
LOGICAL  lSend,
TYPE(PackedMessage), pointer  message,
INTEGER, optional  message_size 
)

Creates a PackedMessage object and initializes the MPI communications associated with it.

Parameters:
levelThe level on which the creating process is working.
remote_procThe ID of the processor with which this object will interact.
tagThe MPI message tag this object's MPI message will have.
lSendA logical flag; true indicates that this is a send; false indicates a receive.
messageA pointer for the new message object.
message_sizeAn optional integer value indicating the size of the packed message buffer.

Definition at line 101 of file mpi_packing.f90.

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

Closes all MPI traffic associated with a message and then deallocates the object.

Parameters:
messageThe message object to be closed out.

Definition at line 140 of file mpi_packing.f90.

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

Sends the contents of the current message block and then indicates that the message is closed.

Parameters:
messageThe message object to be closed.

Definition at line 164 of file mpi_packing.f90.

LOGICAL function MessageIsClosed ( TYPE(PackedMessage), pointer  message) [private]

Returns wheter a message is closed.

Parameters:
messageThe message to check

Definition at line 181 of file mpi_packing.f90.

subroutine, public CreateMessageGroup ( TYPE(StageMessageGroup), pointer  sm_group,
INTEGER  iStageTag,
LOGICAL  lSend,
INTEGER  level 
)

Initializes all the values in a StageMessageGroup.

Parameters:
sm_groupThe StageMessageGroup object being filled out.
iStageTagThe tag identifier of the stage this StageMessageGroup is handling.
lSendSet to true if this is a sending operation; false if it is a receiving operation.
levelThe level of the current transmissions.

Definition at line 200 of file mpi_packing.f90.

subroutine, public CloseMessageGroup ( TYPE(StageMessageGroup), pointer  sm_group)

Closes all messages within a given message group.

Parameters:
sm_groupThe StageMessageGroup object whose members are to be closed.

Definition at line 214 of file mpi_packing.f90.

subroutine, public DestroyMessageGroup ( TYPE(StageMessageGroup), pointer  sm_group)

Safely dallocates all memory associated with a message group.

Parameters:
sm_groupThe group being destroyed.

Definition at line 233 of file mpi_packing.f90.

subroutine AddMessageToGroupList ( TYPE(StageMessageGroup), pointer  sm_group,
TYPE(PackedMessage), pointer  message 
) [private]

Adds a PackedMessage object to a message group's list.

Parameters:
sm_groupThe message group to receive a new message.
messageA PackedMessage object to add to the list.

Definition at line 254 of file mpi_packing.f90.

subroutine, public ExtractMessageFromGroup ( TYPE(StageMessageGroup), pointer  sm_group,
INTEGER  proc_id,
TYPE(PackedMessage), pointer  message,
INTEGER, optional  message_size 
)

Takes a processor ID and returns the corresponding message object from the message group. If the object doesn't exist, it will be created.

Parameters:
sm_groupThe message group from which the object will be retrieved.
proc_idThe processor ID of the message to be extracted.
messageA PackedMessage pointer that will be associated by this subroutine.
message_sizeAn optional integer that sets the size of the message buffer. If this is not present, then the standard buffer will be used.

Definition at line 270 of file mpi_packing.f90.

subroutine, public RemoveFirstMessageFromGroup ( TYPE(StageMessageGroup), pointer  sm_group)

Closes and deletes the first message associated with a message group.

Parameters:
sm_groupThe StageMessageGroup object being targeted.

Definition at line 324 of file mpi_packing.f90.

LOGICAL function MessageGroupIsAllClosed ( TYPE(StageMessageGroup)  sm_group) [private]

Returns true if all the packed messages in a given message group are closed.

Parameters:
sm_groupThe message group being tested.

Definition at line 342 of file mpi_packing.f90.

subroutine, public MGBlockOnFirstMessages ( TYPE(StageMessageGroup)  sm_group,
TYPE(PackedMessage), pointer  message 
)

Waits until at least one message from the specified group has received its first 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.

Definition at line 367 of file mpi_packing.f90.

subroutine, public MGFinishMessageGroupMessages ( TYPE(StageMessageGroup), pointer  sm_group)

Blocks on all message requests until they complete. Note that it blocks on sends and recvs differently.

Parameters:
sm_groupThe message group whose requests are being completed.

Definition at line 379 of file mpi_packing.f90.

subroutine, public GetProcListAsArray ( TYPE(StageMessageGroup), pointer  sm_group,
INTEGER, dimension(:), pointer  proc_array 
)

Retrieves a StageMessageGroup's processor list as an array. This subroutine assumes that the processor list has no duplicate entries.

Parameters:
sm_groupThe message group whose list is being retrieved.
proc_arrayA 1D integer array pointer that will be associated with the processor array.

Definition at line 396 of file mpi_packing.f90.

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

Packs a termination box into a packed message array. Usually this occurs at the end of the message.

Parameters:
messageA packed message object to be ende

Definition at line 448 of file mpi_packing.f90.

subroutine, public SendTerminationBox ( TYPE(StageMessageGroup), pointer  MessageGroup)

Sends a termination box to each message of a message group.

Parameters:
MessageGroupMessage group to pack termination boxes to

Definition at line 458 of file mpi_packing.f90.

subroutine PackInt0D ( TYPE(PackedMessage), pointer  message,
INTEGER  type_data 
) [private]

Packs an integer scalar into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_dataa single integer.

Definition at line 495 of file mpi_packing.f90.

subroutine PackInt1D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:)  type_array 
) [private]

Packs a 1D integer array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 1D integer array.

Definition at line 506 of file mpi_packing.f90.

subroutine PackInt2D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:,:)  type_array 
) [private]

Packs a 2D integer array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 2D integer array.

Definition at line 553 of file mpi_packing.f90.

subroutine PackInt3D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:,:,:)  type_array 
) [private]

Packs a 3D integer array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 3D integer array.

Definition at line 565 of file mpi_packing.f90.

subroutine PackInt4D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:,:,:,:)  type_array 
) [private]

Packs a 4D integer array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 3D integer array.

Definition at line 578 of file mpi_packing.f90.

subroutine PackFloat0D ( TYPE(PackedMessage), pointer  message,
REAL  type_data 
) [private]

Packs an floating-point scalar into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_dataa single floating-point.

Definition at line 592 of file mpi_packing.f90.

subroutine PackFloat1D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:)  type_array 
) [private]

Packs a 1D floating-point array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 1D floating-point array.

Definition at line 603 of file mpi_packing.f90.

subroutine PackFloat2D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:,:)  type_array 
) [private]

Packs a 2D floating-point array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 2D floating-point array.

Definition at line 647 of file mpi_packing.f90.

subroutine PackFloat3D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:,:,:)  type_array 
) [private]

Packs a 3D floating-point array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 3D floating-point array.

Definition at line 656 of file mpi_packing.f90.

subroutine PackFloat4D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:,:,:,:)  type_array 
) [private]

Packs a 3D floating-point array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 3D floating-point array.

Definition at line 665 of file mpi_packing.f90.

subroutine PackDouble0D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPREC)  type_data 
) [private]

Packs an double-precision scalar into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_dataa single double-precision.

Definition at line 674 of file mpi_packing.f90.

subroutine PackDouble1D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPREC), dimension(:)  type_array 
) [private]

Packs a 1D double-precision array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 1D double-precision array.

Definition at line 685 of file mpi_packing.f90.

subroutine PackDouble2D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:,:)  type_array 
) [private]

Packs a 2D double-precision array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 2D double-precision array.

Definition at line 730 of file mpi_packing.f90.

subroutine PackDouble3D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:,:,:)  type_array 
) [private]

Packs a 3D double-precision array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 3D double-precision array.

Definition at line 739 of file mpi_packing.f90.

subroutine PackDouble4D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:,:,:,:)  type_array 
) [private]

Packs a 4D double-precision array into the given packed message.

Parameters:
messageThe packed message object to receive the data.
type_arraya 4D double-precision array.

Definition at line 748 of file mpi_packing.f90.

subroutine PackBoundary ( TYPE(PackedMessage), pointer  message,
TYPE(Boundaries)  boundary 
) [private]

Unpacks a Boundaries Type from the specified message using several lower-level unpacking routines.

Parameters:
messageA PackedMessage object.
boundaryA Boundaries object

Definition at line 758 of file mpi_packing.f90.

subroutine PackBox ( TYPE(PackedMessage), pointer  message,
TYPE(NodeBox)  box 
) [private]

Packs a NodeBox into the specified message using several lower-level packing routines.

Parameters:
messageA PackedMessage object.
boxA NodeBox object.

Definition at line 770 of file mpi_packing.f90.

subroutine UnpackInt0D ( TYPE(PackedMessage), pointer  message,
INTEGER  type_data 
) [private]

Extracts an integer scalar from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_dataThe scalar being filled by the packed message.

Definition at line 786 of file mpi_packing.f90.

subroutine UnpackInt1D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:)  type_array 
) [private]

Extracts a 1D integer array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 797 of file mpi_packing.f90.

subroutine UnpackInt2D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:,:)  type_array 
) [private]

Extracts a 2D integer array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 843 of file mpi_packing.f90.

subroutine UnpackInt3D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:,:,:)  type_array 
) [private]

Extracts a 3D integer array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 858 of file mpi_packing.f90.

subroutine UnpackInt4D ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:,:,:,:)  type_array 
) [private]

Extracts a 4D integer array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 876 of file mpi_packing.f90.

subroutine UnpackFloat0D ( TYPE(PackedMessage), pointer  message,
REAL  type_data 
) [private]

Extracts an floating-point scalar from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_dataThe scalar being filled by the packed message.

Definition at line 895 of file mpi_packing.f90.

subroutine UnpackFloat1D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:)  type_array 
) [private]

Extracts a 1D floating-point array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 907 of file mpi_packing.f90.

subroutine UnpackFloat2D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:,:)  type_array 
) [private]

Extracts a 2D floating-point array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 954 of file mpi_packing.f90.

subroutine UnpackFloat3D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:,:,:)  type_array 
) [private]

Extracts a 3D floating-point array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 972 of file mpi_packing.f90.

subroutine UnpackFloat4D ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:,:,:,:)  type_array 
) [private]

Extracts a 4D floating-point array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 991 of file mpi_packing.f90.

subroutine UnpackDouble0D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPREC)  type_data 
) [private]

Extracts an double-precision scalar from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_dataThe scalar being filled by the packed message.

Definition at line 1011 of file mpi_packing.f90.

subroutine UnpackDouble1D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPREC), dimension(:)  type_array 
) [private]

Extracts a 1D double-precision array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 1022 of file mpi_packing.f90.

subroutine UnpackDouble2D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:,:)  type_array 
) [private]

Extracts a 2D double-precision array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 1069 of file mpi_packing.f90.

subroutine UnpackDouble3D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:,:,:)  type_array 
) [private]

Extracts a 3D double-precision array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 1086 of file mpi_packing.f90.

subroutine UnpackDouble4D ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:,:,:,:)  type_array 
) [private]

Extracts a 4D double-precision array from a packed message. Note that the input pointer must be associated.

Parameters:
messageThe packed message from which the data will be extracted.
type_arrayThe array being filled by the packed message.

Definition at line 1103 of file mpi_packing.f90.

subroutine UnpackBoundary ( TYPE(PackedMessage), pointer  message,
TYPE(Boundaries)  boundary 
) [private]

Unpacks a Boundaries Type from the specified message using several lower-level unpacking routines.

Parameters:
messageA PackedMessage object.
boundaryA Boundaries object

Definition at line 1119 of file mpi_packing.f90.

subroutine UnpackBox ( TYPE(PackedMessage), pointer  message,
TYPE(NodeBox)  box 
) [private]

Unpacks a NodeBox into the specified message using several lower-level unpacking routines.

Parameters:
messageA PackedMessage object.
boxA NodeBox object.

Definition at line 1133 of file mpi_packing.f90.

LOGICAL function, public GetNextBox ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(3,2)  mGlobal 
)

Definition at line 1144 of file mpi_packing.f90.

LOGICAL function, public StrictGetNextBox ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(3,2)  mGlobal,
CHARACTER(*)  caller 
)

Definition at line 1157 of file mpi_packing.f90.

subroutine PackIntList ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:)  array 
) [private]

Packs an integer list of arbitrary size into the given message. Unlike PackInt1D, PackIntList includes the size of the array.

Parameters:
messageA PackedMessage object.
arrayA 1D integer array.

Definition at line 1186 of file mpi_packing.f90.

subroutine PackFloatList ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:)  array 
) [private]

Packs a floating-point list of arbitrary size into the given message. Unlike PackFloat1D, PackIntList includes the size of the array.

Parameters:
messageA PackedMessage object.
arrayA 1D floating-point array.

Definition at line 1200 of file mpi_packing.f90.

subroutine PackDoubleList ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:)  array 
) [private]

Packs a double-precision list of arbitrary size into the given message. Unlike PackDouble1D, PackDoubleList includes the size of the array.

Parameters:
messageA PackedMessage object.
arrayA 1D double-precision array.

Definition at line 1212 of file mpi_packing.f90.

subroutine UnpackIntList ( TYPE(PackedMessage), pointer  message,
INTEGER, dimension(:), pointer  type_array 
) [private]

Unpacks an integer list, using the list size given in the buffer. Assumes that the list size precedes the list in the buffer.

Parameters:
messageA PackedMessage object.
type_arrayA pointer for a 1D integer array.

Definition at line 1230 of file mpi_packing.f90.

subroutine UnpackFloatList ( TYPE(PackedMessage), pointer  message,
REAL, dimension(:), pointer  type_array 
) [private]

Unpacks an floating-point list, using the list size given in the buffer. Assumes that the list size precedes the list in the buffer.

Parameters:
messageA PackedMessage object.
type_arrayA pointer for a 1D floating-point array.

Definition at line 1253 of file mpi_packing.f90.

subroutine UnpackDoubleList ( TYPE(PackedMessage), pointer  message,
REAL(KIND=qPrec), dimension(:), pointer  type_array 
) [private]

Unpacks an double-precision list, using the list size given in the buffer. Assumes that the list size precedes the list in the buffer.

Parameters:
messageA PackedMessage object.
type_arrayA pointer for a 1D double-precision array.

Definition at line 1269 of file mpi_packing.f90.


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