|
Oasis3-MCT
|
Provides a generic and simpler interface into MPI calls for OASIS. More...
Data Types | |
| interface | oasis_mpi_bcast |
| Generic overloaded interface into MPI broadcast. More... | |
| interface | oasis_mpi_gatherv |
| Generic interfaces into an MPI vector gather. More... | |
| interface | oasis_mpi_gathscatvinit |
| Generic interface to oasis_mpi_gathScatVInit. More... | |
| interface | oasis_mpi_max |
| Generic overloaded interface into MPI max reduction. More... | |
| interface | oasis_mpi_min |
| Generic overloaded interface into MPI min reduction. More... | |
| interface | oasis_mpi_recv |
| Generic overloaded interface into MPI receive. More... | |
| interface | oasis_mpi_scatterv |
| Generic interfaces into an MPI vector scatter. More... | |
| interface | oasis_mpi_send |
| Generic overloaded interface into MPI send. More... | |
| interface | oasis_mpi_sum |
| Generic overloaded interface into MPI sum reduction. More... | |
Functions/Subroutines | |
| subroutine, public | oasis_mpi_chkerr (rcode, string) |
| Checks MPI error codes and aborts. More... | |
| subroutine | oasis_mpi_sendi0 (lvec, pid, tag, comm, string) |
| Send a scalar integer. More... | |
| subroutine | oasis_mpi_sendi1 (lvec, pid, tag, comm, string) |
| Send an array of 1D integers. More... | |
| subroutine | oasis_mpi_sendr0 (lvec, pid, tag, comm, string) |
| Send a scalar double. More... | |
| subroutine | oasis_mpi_sendr1 (lvec, pid, tag, comm, string) |
| Send an array of 1D doubles. More... | |
| subroutine | oasis_mpi_sendr3 (array, pid, tag, comm, string) |
| Send an array of 3D doubles. More... | |
| subroutine | oasis_mpi_recvi0 (lvec, pid, tag, comm, string) |
| Receive a scalar integer. More... | |
| subroutine | oasis_mpi_recvi1 (lvec, pid, tag, comm, string) |
| Receive an array of 1D integers. More... | |
| subroutine | oasis_mpi_recvr0 (lvec, pid, tag, comm, string) |
| Receive a scalar double. More... | |
| subroutine | oasis_mpi_recvr1 (lvec, pid, tag, comm, string) |
| Receive an array of 1D doubles. More... | |
| subroutine | oasis_mpi_recvr3 (array, pid, tag, comm, string) |
| Receive an array of 3D doubles. More... | |
| subroutine | oasis_mpi_bcasti0 (vec, comm, string, pebcast) |
| Broadcast a scalar integer. More... | |
| subroutine | oasis_mpi_bcastl0 (vec, comm, string, pebcast) |
| Broadcast a scalar logical. More... | |
| subroutine | oasis_mpi_bcastc0 (vec, comm, string, pebcast) |
| Broadcast a character string. More... | |
| subroutine | oasis_mpi_bcastc1 (vec, comm, string, pebcast) |
| Broadcast an array of 1D character strings. More... | |
| subroutine | oasis_mpi_bcastr0 (vec, comm, string, pebcast) |
| Broadcast a scalar double. More... | |
| subroutine | oasis_mpi_bcasti1 (vec, comm, string, pebcast) |
| Broadcast an array of 1D integers. More... | |
| subroutine | oasis_mpi_bcastl1 (vec, comm, string, pebcast) |
| Broadcast an array of 1D logicals. More... | |
| subroutine | oasis_mpi_bcastr1 (vec, comm, string, pebcast) |
| Broadcast an array of 1D doubles. More... | |
| subroutine | oasis_mpi_bcastr2 (arr, comm, string, pebcast) |
| Broadcast an array of 2D doubles. More... | |
| subroutine | oasis_mpi_bcasti2 (arr, comm, string, pebcast) |
| Broadcast an array of 2D integers. More... | |
| subroutine | oasis_mpi_bcastr3 (arr, comm, string, pebcast) |
| Broadcast an array of 3D doubles. More... | |
| subroutine | oasis_mpi_gathscatvinitr1 (comm, rootid, locArr, glob1DArr, globSize, displs, string) |
| Initialize variables for oasis_mpi_gatherv and oasis_mpi_scatterv. More... | |
| subroutine | oasis_mpi_gathervr1 (locarr, locSize, glob1DArr, globSize, displs, rootid, comm, string) |
| Gather a vector of distributed data to a rootid. More... | |
| subroutine | oasis_mpi_scattervr1 (locarr, locSize, glob1Darr, globSize, displs, rootid, comm, string) |
| Scatter a vector of global data from a rootid. More... | |
| subroutine | oasis_mpi_sumi0 (lvec, gvec, comm, string, all) |
| Compute a global Sum for a scalar integer. More... | |
| subroutine | oasis_mpi_sumi1 (lvec, gvec, comm, string, all) |
| Compute a 1D array of global sums for an array of 1D integers. More... | |
| subroutine | oasis_mpi_sumb0 (lvec, gvec, comm, string, all) |
| Compute a global sum for a scalar 8 byte integer. More... | |
| subroutine | oasis_mpi_sumb1 (lvec, gvec, comm, string, all) |
| Compute a 1D array of global sums for an array of 1D 8 byte integers. More... | |
| subroutine | oasis_mpi_sumr0 (lvec, gvec, comm, string, all) |
| Compute a global sum for a scalar double. More... | |
| subroutine | oasis_mpi_sumr1 (lvec, gvec, comm, string, all) |
| Compute a 1D array of global sums for an array of 1D doubles. More... | |
| subroutine | oasis_mpi_sumr2 (lvec, gvec, comm, string, all) |
| Compute a 2D array of global sums for an array of 2D doubles. More... | |
| subroutine | oasis_mpi_sumr3 (lvec, gvec, comm, string, all) |
| Compute a 3D array of global sums for an array of 3D doubles. More... | |
| subroutine | oasis_mpi_sumq0 (lvec, gvec, comm, string, all) |
| Compute a global sum for a scalar quad. More... | |
| subroutine | oasis_mpi_sumq1 (lvec, gvec, comm, string, all) |
| Compute a 1D array of global sums for an array of 1D quads. More... | |
| subroutine | oasis_mpi_sumq2 (lvec, gvec, comm, string, all) |
| Compute a 2D array of global sums for an array of 2D quads. More... | |
| subroutine | oasis_mpi_sumq3 (lvec, gvec, comm, string, all) |
| Compute a 3D array of global sums for an array of 3D quads. More... | |
| subroutine | oasis_mpi_mini0 (lvec, gvec, comm, string, all) |
| Compute a global minimum for a scalar integer. More... | |
| subroutine | oasis_mpi_mini1 (lvec, gvec, comm, string, all) |
| Compute an array of global minimums for an array of 1D integers. More... | |
| subroutine | oasis_mpi_minr0 (lvec, gvec, comm, string, all) |
| Compute an global minimum for a scalar double. More... | |
| subroutine | oasis_mpi_minr1 (lvec, gvec, comm, string, all) |
| Compute an array of global minimums for an array of 1D doubles. More... | |
| subroutine | oasis_mpi_maxi0 (lvec, gvec, comm, string, all) |
| Compute a global maximum for a scalar integer. More... | |
| subroutine | oasis_mpi_maxi1 (lvec, gvec, comm, string, all) |
| Compute an array of global maximums for an array of 1D integers. More... | |
| subroutine | oasis_mpi_maxr0 (lvec, gvec, comm, string, all) |
| Compute a global maximum for a scalar double. More... | |
| subroutine | oasis_mpi_maxr1 (lvec, gvec, comm, string, all) |
| Compute an array of global maximums for an array of 1D doubles. More... | |
| subroutine, public | oasis_mpi_commsize (comm, size, string) |
| Get the total number of tasks associated with a communicator. More... | |
| subroutine, public | oasis_mpi_commrank (comm, rank, string) |
| Get the rank (task ID) for a task in a communicator. More... | |
| subroutine, public | oasis_mpi_initialized (flag, string) |
| Check whether MPI has been initialized. More... | |
| subroutine, public | oasis_mpi_wtime (wtime) |
| Return a timestamp from MPI_WTIME. More... | |
| subroutine, public | oasis_mpi_abort (string, rcode) |
| Write error messages and Call MPI_ABORT. More... | |
| subroutine, public | oasis_mpi_barrier (comm, string) |
| Call MPI_BARRIER for a particular communicator. More... | |
| subroutine, public | oasis_mpi_init (string) |
| Call MPI_INIT. More... | |
| subroutine, public | oasis_mpi_finalize (string) |
| Call MPI_FINALZE. More... | |
| subroutine, public | oasis_mpi_reducelists (linp1, comm, cntout, lout1, callstr, fastcheck, fastcheckout, linp2, lout2, spval2, linp3, lout3, spval3, linp4, lout4, spval4) |
| Custom method for reducing MPI lists across pes for OASIS. More... | |
Provides a generic and simpler interface into MPI calls for OASIS.
| subroutine, public mod_oasis_mpi::oasis_mpi_abort | ( | character(*), intent(in), optional | string, |
| integer, intent(in), optional | rcode | ||
| ) |
Write error messages and Call MPI_ABORT.
| [in] | string | to identify caller |
| [in] | rcode | optional code |
Definition at line 2654 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_barrier | ( | integer, intent(in) | comm, |
| character(*), intent(in), optional | string | ||
| ) |
Call MPI_BARRIER for a particular communicator.
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 2697 of file mod_oasis_mpi.F90.
|
private |
Broadcast a character string.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 659 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D character strings.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 701 of file mod_oasis_mpi.F90.
|
private |
Broadcast a scalar integer.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 575 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D integers.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 785 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 2D integers.
| [in,out] | arr | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 955 of file mod_oasis_mpi.F90.
|
private |
Broadcast a scalar logical.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 617 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D logicals.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 827 of file mod_oasis_mpi.F90.
|
private |
Broadcast a scalar double.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 743 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 1D doubles.
| [in,out] | vec | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 869 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 2D doubles.
| [in,out] | arr | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 911 of file mod_oasis_mpi.F90.
|
private |
Broadcast an array of 3D doubles.
| [in,out] | arr | values to broadcast |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | pebcast | bcast pe, default is task 0 |
Definition at line 999 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_chkerr | ( | integer(ip_i4_p), intent(in) | rcode, |
| character(*), intent(in) | string | ||
| ) |
Checks MPI error codes and aborts.
This method compares rcode to MPI_SUCCESS. If rcode is an error, it queries MPI_ERROR_STRING for the error string associated with rcode, writes it out, and aborts with the string passed through the interface.
| [in] | rcode | MPI error code |
| [in] | string | abort message |
Definition at line 135 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_commrank | ( | integer, intent(in) | comm, |
| integer, intent(out) | rank, | ||
| character(*), intent(in), optional | string | ||
| ) |
Get the rank (task ID) for a task in a communicator.
| [in] | comm | mpi communicator |
| [out] | rank | output task ID |
| [in] | string | to identify caller |
Definition at line 2558 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_commsize | ( | integer, intent(in) | comm, |
| integer, intent(out) | size, | ||
| character(*), intent(in), optional | string | ||
| ) |
Get the total number of tasks associated with a communicator.
| [in] | comm | mpi communicator |
| [out] | size | output comm size |
| [in] | string | to identify caller |
Definition at line 2523 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_finalize | ( | character(*), intent(in), optional | string | ) |
Call MPI_FINALZE.
| [in] | string | to identify caller |
Definition at line 2764 of file mod_oasis_mpi.F90.
|
private |
Gather a vector of distributed data to a rootid.
This method passes in glob1DArr, globSize, and displs computed in the oasis_mpi_gathscatvinit routine and uses that information to gather the locArr into the glob1Darr on processor rootid in communicator comm.
| [in] | locarr | Local array |
| [in,out] | glob1darr | Global 1D array to receive in on |
| [in] | locsize | Number to send from this PE |
| [in] | globsize | Number to receive from each PE |
| [in] | displs | Displacements for receives |
| [in] | rootid | MPI task to gather on |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 1142 of file mod_oasis_mpi.F90.
|
private |
Initialize variables for oasis_mpi_gatherv and oasis_mpi_scatterv.
This method initializes glob1DArr, globSize, and displs for use in the oasis_mpi_gatherv and oasis_mpi_scatterv routines. locArr is the distributed array to gather from or scatter to.
| [in] | comm | mpi communicator |
| [in] | rootid | MPI task to gather/scatter on |
| [in] | locarr | Local array of distributed data |
| glob1darr | Global 1D array of gathered data | |
| globsize | Size of each distributed piece | |
| displs | Displacements for receive | |
| [in] | string | to identify caller |
Definition at line 1048 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_init | ( | character(*), intent(in), optional | string | ) |
Call MPI_INIT.
| [in] | string | to identify caller |
Definition at line 2731 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_initialized | ( | logical, intent(out) | flag, |
| character(*), intent(in), optional | string | ||
| ) |
Check whether MPI has been initialized.
| [out] | flag | true if MPI_INITIALIZED has been called |
| [in] | string | to identify caller |
Definition at line 2593 of file mod_oasis_mpi.F90.
|
private |
Compute a global maximum for a scalar integer.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2271 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global maximums for an array of 1D integers.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2334 of file mod_oasis_mpi.F90.
|
private |
Compute a global maximum for a scalar double.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2397 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global maximums for an array of 1D doubles.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2460 of file mod_oasis_mpi.F90.
|
private |
Compute a global minimum for a scalar integer.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2019 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global minimums for an array of 1D integers.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2082 of file mod_oasis_mpi.F90.
|
private |
Compute an global minimum for a scalar double.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2145 of file mod_oasis_mpi.F90.
|
private |
Compute an array of global minimums for an array of 1D doubles.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 2208 of file mod_oasis_mpi.F90.
|
private |
Receive a scalar integer.
| [out] | lvec | receive values |
| [in] | pid | pid to recv from |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 370 of file mod_oasis_mpi.F90.
|
private |
Receive an array of 1D integers.
| [out] | lvec | receive values |
| [in] | pid | pid to recv from |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 411 of file mod_oasis_mpi.F90.
|
private |
Receive a scalar double.
| [out] | lvec | receive values |
| [in] | pid | pid to recv from |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 452 of file mod_oasis_mpi.F90.
|
private |
Receive an array of 1D doubles.
| [out] | lvec | receive values |
| [in] | pid | pid to recv from |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 493 of file mod_oasis_mpi.F90.
|
private |
Receive an array of 3D doubles.
| [out] | array | receive values |
| [in] | pid | pid to recv from |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 534 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_reducelists | ( | character(*), dimension(:), intent(in), pointer | linp1, |
| integer, intent(in) | comm, | ||
| integer, intent(out) | cntout, | ||
| character(*), dimension(:), intent(inout), pointer | lout1, | ||
| character(*), intent(in) | callstr, | ||
| logical, intent(in), optional | fastcheck, | ||
| logical, intent(out), optional | fastcheckout, | ||
| character(*), dimension(:), intent(in), optional, pointer | linp2, | ||
| character(*), dimension(:), intent(inout), optional, pointer | lout2, | ||
| character(*), intent(in), optional | spval2, | ||
| integer, dimension(:), intent(in), optional, pointer | linp3, | ||
| integer, dimension(:), intent(inout), optional, pointer | lout3, | ||
| integer, intent(in), optional | spval3, | ||
| integer, dimension(:), intent(in), optional, pointer | linp4, | ||
| integer, dimension(:), intent(inout), optional, pointer | lout4, | ||
| integer, intent(in), optional | spval4 | ||
| ) |
Custom method for reducing MPI lists across pes for OASIS.
| [in] | linp1 | input list on each task |
| [in] | comm | mpi communicator |
| [out] | cntout | size of lout1 list |
| [in,out] | lout1 | reduced output list, same on all tasks |
| [in] | callstr | to identify caller |
| [in] | fastcheck | run a fastcheck first |
| [out] | fastcheckout | true if fastcheck worked |
| [in] | linp2 | input list on each task |
| [in,out] | lout2 | reduced output list, same on all tasks |
| [in] | spval2 | unset value for linp2 |
| [in] | linp3 | input list on each task |
| [in,out] | lout3 | reduced output list, same on all tasks |
| [in] | spval3 | unset value for linp3 |
| [in] | linp4 | input list on each task |
| [in,out] | lout4 | reduced output list, same on all tasks |
| [in] | spval4 | unset value for linp4 |
Definition at line 2798 of file mod_oasis_mpi.F90.
|
private |
Scatter a vector of global data from a rootid.
This method passes in glob1DArr, globSize, and displs computed in the oasis_mpi_gathscatvinit routine and uses that information to scatter glob1Darr on processor rootid in communicator comm to locarr on other processors.
| [out] | locarr | Local array |
| [in] | glob1darr | Global 1D array to send from |
| [in] | locsize | Number to receive this PE |
| [in] | globsize | Number to send to each PE |
| [in] | displs | Displacements for send |
| [in] | rootid | MPI task to scatter on |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 1191 of file mod_oasis_mpi.F90.
|
private |
Send a scalar integer.
| [in] | lvec | send value |
| [in] | pid | pid to send to |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 170 of file mod_oasis_mpi.F90.
|
private |
Send an array of 1D integers.
| [in] | lvec | send values |
| [in] | pid | pid to send to |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 210 of file mod_oasis_mpi.F90.
|
private |
Send a scalar double.
| [in] | lvec | send values |
| [in] | pid | pid to send to |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 250 of file mod_oasis_mpi.F90.
|
private |
Send an array of 1D doubles.
| [in] | lvec | send values |
| [in] | pid | pid to send to |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 290 of file mod_oasis_mpi.F90.
|
private |
Send an array of 3D doubles.
| [in] | array | send values |
| [in] | pid | pid to send to |
| [in] | tag | mpi tag |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
Definition at line 330 of file mod_oasis_mpi.F90.
|
private |
Compute a global sum for a scalar 8 byte integer.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1364 of file mod_oasis_mpi.F90.
|
private |
Compute a 1D array of global sums for an array of 1D 8 byte integers.
This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1430 of file mod_oasis_mpi.F90.
|
private |
Compute a global Sum for a scalar integer.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1235 of file mod_oasis_mpi.F90.
|
private |
Compute a 1D array of global sums for an array of 1D integers.
This sums an array of local integers to an array of summed integers. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1301 of file mod_oasis_mpi.F90.
|
private |
Compute a global sum for a scalar quad.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1756 of file mod_oasis_mpi.F90.
|
private |
Compute a 1D array of global sums for an array of 1D quads.
This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1822 of file mod_oasis_mpi.F90.
|
private |
Compute a 2D array of global sums for an array of 2D quads.
This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1888 of file mod_oasis_mpi.F90.
|
private |
Compute a 3D array of global sums for an array of 3D quads.
This sums an array of local quads to an array of summed quads. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1954 of file mod_oasis_mpi.F90.
|
private |
Compute a global sum for a scalar double.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1493 of file mod_oasis_mpi.F90.
|
private |
Compute a 1D array of global sums for an array of 1D doubles.
This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1559 of file mod_oasis_mpi.F90.
|
private |
Compute a 2D array of global sums for an array of 2D doubles.
This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1625 of file mod_oasis_mpi.F90.
|
private |
Compute a 3D array of global sums for an array of 3D doubles.
This sums an array of local doubles to an array of summed doubles. This does not reduce the array to a scalar.
| [in] | lvec | local values |
| [out] | gvec | global values |
| [in] | comm | mpi communicator |
| [in] | string | to identify caller |
| [in] | all | if true call allreduce, otherwise reduce to task 0 |
Definition at line 1691 of file mod_oasis_mpi.F90.
| subroutine, public mod_oasis_mpi::oasis_mpi_wtime | ( | real(ip_r8_p), intent(out) | wtime | ) |
Return a timestamp from MPI_WTIME.
| [out] | wtime | time in MPI_WTIME units |
Definition at line 2627 of file mod_oasis_mpi.F90.
1.8.13