MPIClass Module



Derived Types

type, public ::  comment_

Components

Type Visibility Attributes Name Initial
character(len=200), public :: comment

type, public ::  MPI_JOB_

Components

Type Visibility Attributes Name Initial
real(kind=real64), public, pointer :: var => null()
real(kind=real64), public, allocatable :: var_list(:)

type, public ::  MPI_

Components

Type Visibility Attributes Name Initial
integer(kind=int32), public :: ierr
integer(kind=int32), public :: MyRank
integer(kind=int32), public :: PeTot
integer(kind=int32), public :: Comm1
integer(kind=int32), public :: Comm2
integer(kind=int32), public :: Comm3
integer(kind=int32), public :: Comm4
integer(kind=int32), public :: Comm5
integer(kind=int32), public :: start_id
integer(kind=int32), public :: end_id
integer(kind=int32), public :: mpi_restart_idf
type(MPI_JOB_), public, allocatable :: MPI_JOB(:)
integer(kind=int32), public :: MPI_MAX_JOB_NUMBER = 10
integer(kind=int32), public :: MPI_LAST_JOB_NUMBER = 0
real(kind=real64), public, allocatable :: EP_MY_VARIABLE_LIST(:,:)
logical, public, allocatable :: EP_MY_TASK_SCHEDULE(:)
integer(kind=int32), public :: EP_MY_CURRENT_TASK_ID = 0
real(kind=real64), public, allocatable :: EP_ALL_VARIABLE_LIST(:,:)
real(kind=real64), public, allocatable :: EP_MY_RESULT_LIST(:,:)
type(IO_), public :: EP_result_summary
type(IO_), public :: file
character(len=:), public, allocatable :: filename
integer(kind=int32), public, allocatable :: start_end_id(:)
integer(kind=int32), public, allocatable :: Comm(:)
integer(kind=int32), public, allocatable :: key(:)
integer(kind=int32), public, allocatable :: local_ID(:)
integer(kind=int32), public, allocatable :: Global_ID(:)
integer(kind=int32), public, allocatable :: Stack(:,:)
integer(kind=int32), public, allocatable :: localstack(:)
integer(kind=int32), public :: LapTimeStep
real(kind=real64), public :: stime
real(kind=real64), public :: etime
real(kind=real64), public :: laptime(1000)
character(len=200), public :: name
type(comment_), public :: comments(1000)
type(Graph_), public :: graph

Type-Bound Procedures

procedure, public :: Start => StartMPI
procedure, public :: init => StartMPI
procedure, public, pass :: EP_set_variable_by_rangeMPI
procedure, public, pass :: EP_set_variable_by_listMPI
generic, public :: EP_set_variable => EP_set_variable_by_rangeMPI, EP_set_variable_by_listMPI
procedure, public :: EP_set_result => EP_set_resultMPI
procedure, public :: EP_write_result => EP_write_resultMPI
procedure, public :: EP_get_variable => EP_get_variableMPI
procedure, public :: EP_num_variavle => EP_num_variavleMPI
procedure, public :: EP_min_var => EP_min_varMPI
procedure, public :: EP_max_var => EP_max_varMPI
procedure, public :: initItr => initItrMPI
procedure, public :: Barrier => BarrierMPI
procedure, public, pass :: readMPIInt
procedure, public, pass :: readMPIReal
generic, public :: read => readMPIInt, readMPIReal
procedure, public, pass :: BcastMPIInt
procedure, public, pass :: BcastMPIIntVec
procedure, public :: BcastMPIIntVecFixedSize
procedure, public, pass :: BcastMPIIntArray
procedure, public, pass :: BcastMPIIntArray3
procedure, public, pass :: BcastMPIReal
procedure, public, pass :: BcastMPIRealVec
procedure, public :: BcastMPIRealVecFixedSize
procedure, public, pass :: BcastMPIRealArray
procedure, public, pass :: BcastMPIRealArray3
procedure, public, pass :: BcastMPIChar
procedure, public, pass :: BcastMPICharN
procedure, public, pass :: BcastMPILogical
generic, public :: Bcast => BcastMPIInt, BcastMPIReal, BcastMPIChar, BcastMPIIntVec, BcastMPIIntArray, BcastMPIRealVec, BcastMPIRealArray, BcastMPICharN, BcastMPILogical, BcastMPIRealArray3, BcastMPIIntArray3
procedure, public, pass :: GatherMPIInt
procedure, public, pass :: GatherMPIReal
generic, public :: Gather => GatherMPIInt, GatherMPIReal
procedure, public, pass :: ScatterMPIInt
procedure, public, pass :: ScatterMPIReal
generic, public :: Scatter => ScatterMPIInt, ScatterMPIReal
procedure, public, pass :: AllGatherMPIInt
procedure, public, pass :: AllGatherMPIReal
procedure, public, pass :: AllGatherMPIGraph
generic, public :: AllGather => AllGatherMPIInt, AllGatherMPIReal, AllGatherMPIGraph
generic, public :: merge => AllGatherMPIGraph
procedure, public, pass :: AlltoAllMPIInt
procedure, public, pass :: AlltoAllMPIReal
generic, public :: AlltoAll => AlltoAllMPIInt, AlltoAllMPIReal
procedure, public, pass :: ReduceMPIInt
procedure, public, pass :: ReduceMPIReal
generic, public :: Reduce => ReduceMPIInt, ReduceMPIReal
procedure, public, pass :: AllReduceMPIInt
procedure, public, pass :: AllReduceMPIReal
generic, public :: AllReduce => AllReduceMPIInt, AllReduceMPIReal
procedure, public, pass :: isend_irecvRealVectorMPI
generic, public :: isend_irecv => isend_irecvRealVectorMPI
procedure, public, pass :: isend_Int32MPI
procedure, public, pass :: isend_Int32VectorMPI
procedure, public, pass :: isend_Real64MPI
procedure, public, pass :: isend_Real64VectorMPI
generic, public :: isend => isend_Int32MPI, isend_Real64MPI, isend_Int32VectorMPI, isend_Real64VectorMPI
procedure, public, pass :: irecv_Int32MPI
procedure, public, pass :: irecv_Int32VectorMPI
procedure, public, pass :: irecv_Real64MPI
procedure, public, pass :: irecv_Real64VectorMPI
generic, public :: irecv => irecv_Int32MPI, irecv_Real64MPI, irecv_Int32VectorMPI, irecv_Real64VectorMPI
procedure, public, pass :: WaitAll_Int32MPI
procedure, public, pass :: WaitAll_Int32VectorMPI
generic, public :: WaitAll => WaitAll_Int32MPI, WaitAll_Int32VectorMPI
procedure, public :: createStack => createStackMPI
procedure, public :: showStack => showStackMPI
procedure, public :: free => FreeMPI
procedure, public :: split => SplitMPI
procedure, public :: copy => CopyMPI
procedure, public :: End => EndMPI
procedure, public :: finalize => EndMPI
procedure, public :: getLapTime => getLapTimeMPI
procedure, public :: showLapTime => showLapTimeMPI
procedure, public :: GetInfo => GetMPIInfo
procedure, public :: createFileName => createFileNameMPI
procedure, public :: num_images => num_imagesMPI
procedure, public :: this_image => this_imageMPI
procedure, public, pass :: restart_point_intmat64_MPI
procedure, public, pass :: restart_point_realmat64_MPI
procedure, public, pass :: restart_point_intvec32_MPI
procedure, public, pass :: restart_point_realvec64_MPI
generic, public :: restart_point => restart_point_intmat64_MPI, restart_point_realmat64_MPI, restart_point_intvec32_MPI, restart_point_realvec64_MPI
procedure, public, pass :: syncGraphMPI
generic, public :: sync => syncGraphMPI
procedure, public :: open => fopen_MPI
procedure, public :: fopen => fopen_MPI
procedure, public :: close => fclose_MPI
procedure, public :: fclose => fclose_MPI

Functions

public pure function num_imagesMPI(obj) result(ret)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(in) :: obj

Return Value integer(kind=int32)

public pure function this_imageMPI(obj) result(ret)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(in) :: obj

Return Value integer(kind=int32)

public function EP_get_variableMPI(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this

Return Value logical

public function EP_num_variavleMPI(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(in) :: this

Return Value integer(kind=int32)

public function EP_min_varMPI(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(in) :: this

Return Value real(kind=real64), allocatable, (:,:)

public function EP_max_varMPI(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(in) :: this

Return Value real(kind=real64), allocatable, (:,:)


Subroutines

public subroutine StartMPI(obj, NumOfComm)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: NumOfComm

public subroutine initItrMPI(obj, total_iteration)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: total_iteration

public subroutine createFileNameMPI(obj, Path, Name)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
character(len=*), intent(in) :: Path
character(len=*), intent(in) :: Name

public subroutine createStackMPI(obj, total)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: total

public subroutine showStackMPI(obj)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj

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

Arguments

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

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

Arguments

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

public subroutine GetMPIInfo(obj)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj

public subroutine BarrierMPI(obj)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj

public recursive subroutine BcastMPIInt(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
integer(kind=int32), intent(inout) :: val

public recursive subroutine BcastMPILogical(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
logical, intent(inout) :: val

public recursive subroutine BcastMPIIntVec(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
integer(kind=int32), intent(inout), allocatable :: val(:)

public subroutine BcastMPIIntVecFixedSize(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
integer(kind=int32), intent(in) :: val(:)

public subroutine BcastMPIRealVecFixedSize(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
real(kind=real64), intent(in) :: val(:)

public recursive subroutine BcastMPIIntArray(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
integer(kind=int32), intent(inout), allocatable :: val(:,:)

public recursive subroutine BcastMPIReal(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
real(kind=real64), intent(inout) :: val

public recursive subroutine BcastMPIRealVec(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
real(kind=real64), intent(inout), allocatable :: val(:)

public recursive subroutine BcastMPIRealArray(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
real(kind=real64), intent(inout), allocatable :: val(:,:)

public recursive subroutine BcastMPIRealArray3(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
real(kind=real64), intent(inout), allocatable :: val(:,:,:)

public recursive subroutine BcastMPIIntArray3(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: From
integer(kind=int32), intent(inout), allocatable :: val(:,:,:)

public recursive subroutine BcastMPIChar(obj, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(inout) :: From
character(len=*), intent(inout) :: val

public recursive subroutine BcastMPICharN(obj, N, From, val)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in) :: N
integer(kind=int32), intent(in) :: From
character(len=N), intent(inout) :: val(1:N)

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(inout) :: sendobj(:)
integer(kind=int32), intent(in), optional :: sendcount
integer(kind=int32), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in), optional :: recvcount
integer(kind=int32), intent(in), optional :: send_start_id
integer(kind=int32), intent(in), optional :: recv_start_id
integer(kind=int32), intent(in), optional :: To

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

Arguments

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

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(inout) :: sendobj(:)
integer(kind=int32), intent(in) :: sendcount
integer(kind=int32), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: recvcount
integer(kind=int32), intent(in), optional :: send_start_id
integer(kind=int32), intent(in), optional :: recv_start_id
integer(kind=int32), intent(in), optional :: From

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

Arguments

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

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(inout) :: sendobj(:)
integer(kind=int32), intent(in) :: sendcount
integer(kind=int32), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: recvcount
integer(kind=int32), intent(in), optional :: send_start_id
integer(kind=int32), intent(in), optional :: recv_start_id

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
real(kind=real64), intent(inout) :: sendobj(:)
integer(kind=int32), intent(in) :: sendcount
real(kind=real64), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: recvcount
integer(kind=int32), intent(in), optional :: send_start_id
integer(kind=int32), intent(in), optional :: recv_start_id

public subroutine AllGatherMPIGraph(obj, graph)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
type(Graph_), intent(inout) :: graph

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(inout) :: sendobj(:)
integer(kind=int32), intent(in) :: sendcount
integer(kind=int32), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: recvcount
integer(kind=int32), intent(in), optional :: send_start_id
integer(kind=int32), intent(in), optional :: recv_start_id

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
real(kind=real64), intent(inout) :: sendobj(:)
integer(kind=int32), intent(in) :: sendcount
real(kind=real64), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: recvcount
integer(kind=int32), intent(in), optional :: send_start_id
integer(kind=int32), intent(in), optional :: recv_start_id

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(inout) :: sendobj(:)
integer(kind=int32), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: count
integer(kind=int32), intent(in), optional :: start
integer(kind=int32), 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)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
real(kind=real64), intent(inout) :: sendobj(:)
real(kind=real64), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: count
integer(kind=int32), intent(in), optional :: start
integer(kind=int32), 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 AllReduceMPIInt(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(inout) :: sendobj(:)
integer(kind=int32), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: count
integer(kind=int32), 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 Attributes Name
class(MPI_), intent(inout) :: obj
real(kind=real64), intent(inout) :: sendobj(:)
real(kind=real64), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: count
integer(kind=int32), 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 EndMPI(obj)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj

public subroutine getLapTimeMPI(obj, comment)

Arguments

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

public subroutine showLapTimeMPI(obj, cLength, rank)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: cLength
integer(kind=int32), intent(in), optional :: rank

public subroutine CopyMPI(obj, OriginComm, NewCommLayerID)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: OriginComm
integer(kind=int32), intent(in), optional :: NewCommLayerID

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

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: OriginComm
integer(kind=int32), intent(in), optional :: NewCommLayerID
integer(kind=int32), intent(in), optional :: key

public subroutine FreeMPI(obj, CommLayerID)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: CommLayerID

public subroutine syncGraphMPI(obj, graph)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: obj
type(Graph_), intent(inout) :: graph

public subroutine isend_irecvRealVectorMPI(this, sendobj, recvobj, send_recv_rank, debug)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
real(kind=real64), intent(in) :: sendobj(:)
real(kind=real64), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: send_recv_rank(:)
logical, intent(in), optional :: debug

public subroutine isend_irecvInt32VectorMPI(this, sendobj, recvobj, send_recv_rank, debug)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: sendobj(:)
integer(kind=int32), intent(inout) :: recvobj(:)
integer(kind=int32), intent(in) :: send_recv_rank(:)
logical, intent(in), optional :: debug

public subroutine EP_set_variable_by_rangeMPI(this, var, var_range, N)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
real(kind=real64), intent(in), target :: var
real(kind=real64), intent(in) :: var_range(1:2)
integer(kind=int32), intent(in) :: N

public subroutine EP_set_variable_by_listMPI(this, var, var_list)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
real(kind=real64), intent(in), target :: var
real(kind=real64), intent(in) :: var_list(:)

public subroutine EP_set_resultMPI(this, result_value)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
real(kind=real64), intent(in) :: result_value(:)

public subroutine EP_write_resultMPI(this)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this

public subroutine fopen_MPI(this, filename, io_option)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
character(len=*), intent(in) :: filename
character(len=*), intent(in) :: io_option

public subroutine fclose_MPI(this)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this

public subroutine isend_Int32MPI(this, to, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: to
integer(kind=int32), intent(in) :: val
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine isend_Int32VectorMPI(this, to, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: to
integer(kind=int32), intent(in) :: val(:)
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine isend_Real64MPI(this, to, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: to
real(kind=real64), intent(in) :: val
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine isend_Real64VectorMPI(this, to, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: to
real(kind=real64), intent(in) :: val(:)
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine irecv_Int32MPI(this, from, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: from
integer(kind=int32), intent(inout) :: val
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine irecv_Int32VectorMPI(this, from, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: from
integer(kind=int32), intent(inout) :: val(:)
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine irecv_Real64MPI(this, from, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: from
real(kind=real64), intent(inout) :: val
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine irecv_Real64VectorMPI(this, from, val, req, tag)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: from
real(kind=real64), intent(inout) :: val(:)
integer(kind=int32), intent(inout) :: req
integer(kind=int32), intent(in) :: tag

public subroutine WaitAll_Int32MPI(this, send_req, recv_req)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: send_req
integer(kind=int32), intent(in) :: recv_req

public subroutine WaitAll_Int32VectorMPI(this, send_req, recv_req)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
integer(kind=int32), intent(in) :: send_req(:)
integer(kind=int32), intent(in) :: recv_req(:)

public subroutine restart_point_intvec32_MPI(this, name, intvec)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
character(len=*), intent(in) :: name
integer(kind=int32), intent(inout), allocatable :: intvec(:)

public subroutine restart_point_realvec64_MPI(this, name, dat_content)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
character(len=*), intent(in) :: name
real(kind=real64), intent(inout), allocatable :: dat_content(:)

public subroutine restart_point_intmat64_MPI(this, name, dat_content)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
character(len=*), intent(in) :: name
integer(kind=int32), intent(inout), allocatable :: dat_content(:,:)

public subroutine restart_point_realmat64_MPI(this, name, dat_content)

Arguments

Type IntentOptional Attributes Name
class(MPI_), intent(inout) :: this
character(len=*), intent(in) :: name
real(kind=real64), intent(inout), allocatable :: dat_content(:,:)