MPI_ Derived Type

type, public :: MPI_


Contents


Components

TypeVisibility AttributesNameInitial
integer, public :: ierr
integer, public :: MyRank
integer, public :: PeTot
integer, public :: Comm1
integer, public :: Comm2
integer, public :: Comm3
integer, public :: Comm4
integer, public :: Comm5
integer, public, allocatable:: Comm(:)
integer, public, allocatable:: key(:)
integer, public :: LapTimeStep
real(kind=8), public :: stime
real(kind=8), public :: etime
real(kind=8), public :: laptime(1000)
type(comment), public :: comments(1000)

Type-Bound Procedures

procedure, public :: Start => StartMPI

  • public subroutine StartMPI(obj, NumOfComm)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(in), optional :: NumOfComm

procedure, public :: Barrier => BarrierMPI

  • public subroutine BarrierMPI(obj)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj

procedure, public, Pass :: readMPIInt

  • public subroutine readMPIInt(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(out) :: val
    integer, intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg

procedure, public, Pass :: readMPIReal

  • public subroutine readMPIReal(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(out) :: val
    integer, intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg

generic, public :: read => readMPIInt, readMPIReal

  • public subroutine readMPIInt(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(out) :: val
    integer, intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg
  • public subroutine readMPIReal(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(out) :: val
    integer, intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg

procedure, public, Pass :: BcastMPIInt

  • public subroutine BcastMPIInt(obj, From, val)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: From
    integer, intent(inout) :: val

procedure, public, Pass :: BcastMPIReal

  • public subroutine BcastMPIReal(obj, From, val)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: From
    real(kind=8), intent(inout) :: val

generic, public :: Bcast => BcastMPIInt, BcastMPIReal

  • public subroutine BcastMPIInt(obj, From, val)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: From
    integer, intent(inout) :: val
  • public subroutine BcastMPIReal(obj, From, val)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: From
    real(kind=8), intent(inout) :: val

procedure, public, Pass :: GatherMPIInt

  • public subroutine GatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: To

procedure, public, Pass :: GatherMPIReal

  • public subroutine GatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: To

generic, public :: Gather => GatherMPIInt, GatherMPIReal

  • public subroutine GatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: To
  • public subroutine GatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: To

procedure, public, Pass :: ScatterMPIInt

  • public subroutine ScatterMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: From

procedure, public, Pass :: ScatterMPIReal

  • public subroutine ScatterMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: From

generic, public :: Scatter => ScatterMPIInt, ScatterMPIReal

  • public subroutine ScatterMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: From
  • public subroutine ScatterMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
    integer, intent(in), optional :: From

procedure, public, Pass :: AllGatherMPIInt

  • public subroutine AllGatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id

procedure, public, Pass :: AllGatherMPIReal

  • public subroutine AllGatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id

generic, public :: AllGather => AllGatherMPIInt, AllGatherMPIReal

  • public subroutine AllGatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
  • public subroutine AllGatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id

procedure, public, Pass :: AlltoAllMPIInt

  • public subroutine AlltoAllMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id

procedure, public, Pass :: AlltoAllMPIReal

  • public subroutine AlltoAllMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id

generic, public :: AlltoAll => AlltoAllMPIInt, AlltoAllMPIReal

  • public subroutine AlltoAllMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id
  • public subroutine AlltoAllMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    integer, intent(in) :: sendcount
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: recvcount
    integer, intent(in), optional :: send_start_id
    integer, intent(in), optional :: recv_start_id

procedure, public, Pass :: ReduceMPIInt

  • public subroutine ReduceMPIInt(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    , count, MPI_INTEGER, ToID, MPI_MAX, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_MIN, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_SUM, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_PROD, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_LAND, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID,MPI_BAND , MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_LOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID,MPI_BOR , MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_LXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_BXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_MAXLOC, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_MINLOC, MPI_COMM_WORLD, obj%ierr)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    integer, intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public, Pass :: ReduceMPIReal

  • public subroutine ReduceMPIReal(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    , count, MPI_REAL8, ToID, MPI_MAX, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_MIN, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_SUM, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_PROD, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_LAND, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID,MPI_BAND , MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_LOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID,MPI_BOR , MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_LXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_BXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_MAXLOC, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_MINLOC, MPI_COMM_WORLD, obj%ierr)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    integer, intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

generic, public :: Reduce => ReduceMPIInt, ReduceMPIReal

  • public subroutine ReduceMPIInt(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    , count, MPI_INTEGER, ToID, MPI_MAX, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_MIN, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_SUM, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_PROD, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_LAND, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID,MPI_BAND , MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_LOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID,MPI_BOR , MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_LXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_BXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_MAXLOC, MPI_COMM_WORLD, obj%ierr) , count, MPI_INTEGER, ToID, MPI_MINLOC, MPI_COMM_WORLD, obj%ierr)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    integer, intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc
  • public subroutine ReduceMPIReal(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    , count, MPI_REAL8, ToID, MPI_MAX, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_MIN, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_SUM, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_PROD, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_LAND, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID,MPI_BAND , MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_LOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID,MPI_BOR , MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_LXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_BXOR, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_MAXLOC, MPI_COMM_WORLD, obj%ierr) , count, MPI_REAL8, ToID, MPI_MINLOC, MPI_COMM_WORLD, obj%ierr)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    integer, intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public, Pass :: AllReduceMPIInt

  • public subroutine AllReduceMPIInt(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    , count, MPI_INTEGER, MPI_MAX, MPI_COMM_WORLD, obj%ierr)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public, Pass :: AllReduceMPIReal

  • public subroutine AllReduceMPIReal(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

generic, public :: AllReduce => AllReduceMPIInt, AllReduceMPIReal

  • public subroutine AllReduceMPIInt(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    , count, MPI_INTEGER, MPI_MAX, MPI_COMM_WORLD, obj%ierr)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(inout) :: sendobj(:)
    integer, intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc
  • public subroutine AllReduceMPIReal(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    real(kind=8), intent(inout) :: sendobj(:)
    real(kind=8), intent(inout) :: recvobj(:)
    integer, intent(in) :: count
    integer, intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public :: free => FreeMPI

  • public subroutine FreeMPI(obj, CommLayerID)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(in), optional :: CommLayerID

    call MPI_COMM_FREE(input(default=MPI_COMM_WORLD,option=obj%Comm(CommLayerID) ), obj%ierr)

    call MPI_COMM_FREE(MPI_COMM_WORLD, obj%ierr)

procedure, public :: split => SplitMPI

  • public subroutine SplitMPI(obj, OriginComm, NewCommLayerID, key)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(in), optional :: OriginComm

    call MPI_COMM_SPLIT(input(default=MPI_COMM_WORLD,option=OriginComm),&

    integer, intent(in), optional :: NewCommLayerID

    call MPI_COMM_SPLIT(input(default=MPI_COMM_WORLD,option=OriginComm),&

    integer, intent(in), optional :: key

    call MPI_COMM_SPLIT(input(default=MPI_COMM_WORLD,option=OriginComm),&

procedure, public :: copy => CopyMPI

  • public subroutine CopyMPI(obj, OriginComm, NewCommLayerID)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(in), optional :: OriginComm
    integer, intent(in), optional :: NewCommLayerID

procedure, public :: End => EndMPI

  • public subroutine EndMPI(obj)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj

procedure, public :: getLapTime => getLapTimeMPI

  • public subroutine getLapTimeMPI(obj, comment)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    character(len=*), intent(in), optional :: comment

procedure, public :: showLapTime => showLapTimeMPI

  • public subroutine showLapTimeMPI(obj, cLength, rank)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj
    integer, intent(in), optional :: cLength
    integer, intent(in), optional :: rank

procedure, public :: GetInfo => GetMPIInfo

  • public subroutine GetMPIInfo(obj)

    Arguments

    Type IntentOptional AttributesName
    class(MPI_), intent(inout) :: obj