Data Types | |
type | epetra_mpicomm |
Public Member Functions | |
Constructor Functions | |
type(epetra_mpicomm) function | epetra_mpicomm (MPI_COMM_WORLD) |
Epetra_MpiComm MPI Constructor. More... | |
type(epetra_mpicomm) function | epetra_mpicomm (this) |
Epetra_MpiComm Copy Constructor. More... | |
Barrier Methods | |
subroutine | barrier (this) |
Epetra_MpiComm Barrier function. More... | |
Broadcast Methods | |
subroutine | broadcast (this, MyVals, root, err) |
Epetra_MpiComm Broadcast function. More... | |
subroutine | broadcast (this, MyVals, root, err) |
Epetra_MpiComm Broadcast function. More... | |
subroutine | broadcast_long (this, MyVals, root, err) |
Epetra_MpiComm Broadcast function. More... | |
subroutine | broadcast (this, MyVals, root, err) |
Epetra_MpiComm Broadcast function. More... | |
GatherAll Methods | |
subroutine | gatherall (this, MyVals, AllVals, err) |
Epetra_MpiComm All Gather function. More... | |
subroutine | gatherall (this, MyVals, AllVals, err) |
Epetra_MpiComm All Gather function. More... | |
subroutine | gather_long (this, MyVals, AllVals, err) |
Epetra_MpiComm All Gather function. More... | |
Sum Methods | |
subroutine | sumall (this, PartialSums, GlobalSums, err) |
Epetra_MpiComm Global Summ function. More... | |
subroutine | sumall (this, PartialSums, GlobalSums, err) |
Epetra_MpiComm Global Summ function. More... | |
subroutine | sum_long (this, PartialSums, GlobalSums, err) |
Epetra_MpiComm Global Summ function. More... | |
Max/Min Methods | |
subroutine | maxall (this, PartialMaxs, GlobalMaxs, err) |
Epetra_MpiComm Global Max function. More... | |
subroutine | maxall (this, PartialMaxs, GlobalMaxs, err) |
Epetra_MpiComm Global Max function. More... | |
subroutine | max_long (this, PartialMaxs, GlobalMaxs, err) |
Epetra_MpiComm Global Max function. More... | |
subroutine | minall (this, PartialMins, GlobalMins, err) |
Epetra_MpiComm Global Min function. More... | |
subroutine | minall (this, PartialMins, GlobalMins, err) |
Epetra_MpiComm Global Min function. More... | |
subroutine | min_long (this, PartialMins, GlobalMins, err) |
Epetra_MpiComm Global Min function. More... | |
Parallel Prefix Methods | |
subroutine | scansum (this, MyVals, scan_sums, err) |
Epetra_MpiComm Scan Sum function. More... | |
subroutine | scansum (this, MyVals, scan_sums, err) |
Epetra_MpiComm Scan Sum function. More... | |
subroutine | scansum_long (this, MyVals, scan_sums, err) |
Epetra_MpiComm Scan Sum function. More... | |
integer(c_int) function | mypid (this) |
Return my process ID. More... | |
integer(c_int) function | numproc (this) |
Return my process ID. More... | |
subroutine fepetra_mpicomm::barrier | ( | class(epetra_mpicomm), intent(in) | this | ) |
Epetra_MpiComm Barrier function.
Causes each processor in the communicator to wait until all processors have arrived. Implements Epetra_Comm.
subroutine fepetra_mpicomm::broadcast | ( | class(epetra_mpicomm), intent(in) | this, |
real(c_double), dimension(:), intent(inout) | MyVals, | ||
integer(c_int), intent(in) | root, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Broadcast function.
Takes list of input values from the root processor and sends to all other processors. Implements Epetra_Comm.
[in,out] | myvals | InOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast. |
[in] | root | In On entry, contains the processor from which all processors will receive a copy of MyVals. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::broadcast | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_int), dimension(:), intent(inout) | MyVals, | ||
integer(c_int), intent(in) | root, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Broadcast function.
Takes list of input values from the root processor and sends to all other processors. Implements Epetra_Comm.
[in,out] | myvals | InOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast. |
[in] | root | In On entry, contains the processor from which all processors will receive a copy of MyVals. |
[in,out] | err | Return any error information |
subroutine fepetra_mpicomm::broadcast | ( | class(epetra_mpicomm), intent(in) | this, |
character(kind=c_char), dimension(:), intent(inout) | MyVals, | ||
integer(c_int), intent(in) | root, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Broadcast function.
Takes list of input values from the root processor and sends to all other processors. Implements Epetra_Comm.
[in,out] | myvals | InOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast. |
[in] | root | In On entry, contains the processor from which all processors will receive a copy of MyVals. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::broadcast_long | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_long), dimension(:), intent(inout) | MyVals, | ||
integer(c_int), intent(in) | root, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Broadcast function.
Takes list of input values from the root processor and sends to all other processors. Implements Epetra_Comm.
[in,out] | myvals | InOut On entry, the root processor contains the list of values. On exit, all processors will have the same list of values. Note that values must be allocated on all processor before the broadcast. |
[in] | root | In On entry, contains the processor from which all processors will receive a copy of MyVals. |
[in,out] | err | Return any error information |
type(epetra_mpicomm) function fepetra_mpicomm::epetra_mpicomm | ( | type(epetra_mpicomm), intent(in) | this | ) |
Epetra_MpiComm Copy Constructor.
Makes an exact copy of an existing Epetra_MpiComm instance.
type(epetra_mpicomm) function fepetra_mpicomm::epetra_mpicomm | ( | MPI_COMM_WORLD | ) |
Epetra_MpiComm MPI Constructor.
Creates a Epetra_MpiComm instance for use with MPI. If no specialized MPI communicator is needed, this constuctor can be called with the argument MPI_COMM_WORLD.
subroutine fepetra_mpicomm::gather_long | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_long), dimension(:), intent(in) | MyVals, | ||
integer(c_long), dimension(:), intent(inout) | AllVals, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm All Gather function.
Take list of input values from all processors in the communicator and creates an ordered contiguous list of tho se values on each processor. Implements Epetra_Comm.
[in] | myvals | On entry, contains the list of values, to be sent to all processors. |
[in,out] | allvals | On exit, contains the list of values from all processors. Must be of size NumProc*size(MyVals). |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::gatherall | ( | class(epetra_mpicomm), intent(in) | this, |
real(c_double), dimension(:), intent(in) | MyVals, | ||
real(c_double), dimension(:), intent(inout) | AllVals, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm All Gather function.
Take list of input values from all processors in the communicator and creates an ordered contiguous list of those values on each processor. Implements Epetra_Comm.
[in] | myvals | On entry, contains the list of values, to be sent to all processors. |
[in,out] | allvals | On exit, contains the list of values from all processors. Must be of size NumProc*size(MyVals). |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::gatherall | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_int), dimension(:), intent(in) | MyVals, | ||
integer(c_int), dimension(:), intent(inout) | AllVals, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm All Gather function.
Take list of input values from all processors in the communicator and creates an ordered contiguous list of tho se values on each processor. Implements Epetra_Comm.
[in] | myvals | On entry, contains the list of values, to be sent to all processors. |
[in,out] | allvals | On exit, contains the list of values from all processors. Must be of size NumProc*size(MyVals). |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::max_long | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_long), dimension(:), intent(in) | PartialMaxs, | ||
integer(c_long), dimension(:), intent(inout) | GlobalMaxs, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Max function.
Take list of input values from all processors in the communicator, computes the max and returns the max to all processors. Implements Epetra_Comm.
[in] | partialmaxs | On entry, contains the list of values, usually partial maxs computed locally, using these Partial Maxs, the max across all processors will be computed. |
[in,out] | globalmaxs | On exit, contains the list of maxs computed across all processors. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::maxall | ( | class(epetra_mpicomm), intent(in) | this, |
real(c_double), dimension(:), intent(in) | PartialMaxs, | ||
real(c_double), dimension(:), intent(inout) | GlobalMaxs, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Max function.
Take list of input values from all processors in the communicator, computes the max and returns the max to all processors. Implements Epetra_Comm.
[in] | partialmaxs | On entry, contains the list of values, usually partial maxs computed locally, using these Partial Maxs, the max across all processors will be computed. |
[in,out] | globalmaxs | On exit, contains the list of maxs computed across all processors. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::maxall | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_int), dimension(:), intent(in) | PartialMaxs, | ||
integer(c_int), dimension(:), intent(inout) | GlobalMaxs, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Max function.
Take list of input values from all processors in the communicator, computes the max and returns the max to all processors. Implements Epetra_Comm.
[in] | partialmaxs | On entry, contains the list of values, usually partial maxs computed locally, using these Partial Maxs, the max across all processors will be computed. |
[in,out] | globalmaxs | On exit, contains the list of maxs computed across all processors. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::min_long | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_long), dimension(:), intent(in) | PartialMins, | ||
integer(c_long), dimension(:), intent(inout) | GlobalMins, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Min function.
Take list of input values from all processors in the communicator, computes the min and returns the min to all processors. Implements Epetra_Comm.
[in] | partialmins | On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed. |
[in,out] | globalmins | On exit, contains the list of mins computed across all processors. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::minall | ( | class(epetra_mpicomm), intent(in) | this, |
real(c_double), dimension(:), intent(in) | PartialMins, | ||
real(c_double), dimension(:), intent(inout) | GlobalMins, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Min function.
Take list of input values from all processors in the communicator, computes the min and returns the min to all processors. Implements Epetra_Comm.
[in] | partialmins | On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed. |
[in,out] | globalmins | On exit, contains the list of mins computed across all processors. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::minall | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_int), dimension(:), intent(in) | PartialMins, | ||
integer(c_int), dimension(:), intent(inout) | GlobalMins, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Min function.
Take list of input values from all processors in the communicator, computes the min and returns the min to all processors. Implements Epetra_Comm.
[in] | partialmins | On entry, contains the list of values, usually partial mins computed locally; using these Partial Mins, the min across all processors will be computed. |
[in,out] | globalmins | On exit, contains the list of mins computed across all processors. |
[in,out] | err | Return any error information. |
integer(c_int) function fepetra_mpicomm::mypid | ( | class(epetra_mpicomm), intent(in) | this | ) |
Return my process ID.
In MPI mode returns the rank of the calling process. In serial mode returns 0. Implements Epetra_Comm.
integer(c_int) function fepetra_mpicomm::numproc | ( | class(epetra_mpicomm), intent(in) | this | ) |
Return my process ID.
Returns total number of processes (always returns 1 for MpiComm). Implements Epetra_Comm.
subroutine fepetra_mpicomm::scansum | ( | class(epetra_mpicomm), intent(in) | this, |
real(c_double), dimension(:), intent(in) | MyVals, | ||
real(c_double), dimension(:), intent(inout) | scan_sums, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Scan Sum function.
Take list of input values from all processors in the communicator, computes the scan sum and returns it to all processors such that processor i contains the sum of values from processor 0 up to and including processor i. Implements Epetra_Comm.
[in] | myvals | On entry, contains the list of values to be summed across all processors. |
[in,out] | scan_sums | On exit, contains the list of values summed across processors 0 through i. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::scansum | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_int), dimension(:), intent(in) | MyVals, | ||
integer(c_int), dimension(:), intent(inout) | scan_sums, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Scan Sum function.
Take list of input values from all processors in the communicator, computes the scan sum and returns it to all processors such that processor i contains the sum of values from processor 0 up to and including processor i. Implements Epetra_Comm.
[in] | myvals | On entry, contains the list of values to be summed across all processors. |
[in,out] | scan_sums | On exit, contains the list of values summed across processors 0 through i. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::scansum_long | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_long), dimension(:), intent(in) | MyVals, | ||
integer(c_long), dimension(:), intent(inout) | scan_sums, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Scan Sum function.
Take list of input values from all processors in the communicator, computes the scan sum and returns it to all processors such that processor i contains the sum of values from processor 0 up to and including processor i. Implements Epetra_Comm.
[in] | myvals | On entry, contains the list of values to be summed across all processors. |
[in,out] | scan_sums | On exit, contains the list of values summed across processors 0 through i. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::sum_long | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_long), dimension(:), intent(in) | PartialSums, | ||
integer(c_long), dimension(:), intent(inout) | GlobalSums, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Summ function.
Take list of input values from all processors in the communicator, computes the sum and returns the sum to all processors. Implements Epetra_Comm.
[in] | partialsums | On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors. |
[in,out] | globalsums | On exit, contains the list of values summed across all processors. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::sumall | ( | class(epetra_mpicomm), intent(in) | this, |
integer(c_int), dimension(:), intent(in) | PartialSums, | ||
integer(c_int), dimension(:), intent(inout) | GlobalSums, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Summ function.
Take list of input values from all processors in the communicator, computes the sum and returns the sum to all processors. Implements Epetra_Comm.
[in] | partialsums | On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors. |
[in,out] | globalsums | On exit, contains the list of values summed across all processors. |
[in,out] | err | Return any error information. |
subroutine fepetra_mpicomm::sumall | ( | class(epetra_mpicomm), intent(in) | this, |
real(c_double), dimension(:), intent(in) | PartialSums, | ||
real(c_double), dimension(:), intent(inout) | GlobalSums, | ||
type(error), intent(inout), optional | err | ||
) |
Epetra_MpiComm Global Summ function.
Take list of input values from all processors in the communicator, computes the sum and returns the sum to all processors. Implements Epetra_Comm.
[in] | partialsums | On entry, contains the list of values, usually partial sums computed locally, to be summed across all processors. |
[in,out] | globalsums | On exit, contains the list of values summed across all processors. |
[in,out] | err | Return any error information. |