Distributed arrays module (DDI-compatible)
Provides DDI-style distributed 2D arrays built on MPI-3 RMA.
Re-exports all functionality from submodules plus convenience wrappers.
Usage:
use darrays
call darrays_init(comm)
call darray_create(nrows, ncols, handle)
call darray_put(handle, 1, nrows, jlo, jhi, data)
call darray_get(handle, 1, nrows, jlo, jhi, data)
call darray_destroy(handle)
call darrays_finalize()
module~~darrays~~UsesGraph
module~darrays
darrays
module~darrays_core
darrays_core
module~darrays->module~darrays_core
module~darrays_dlb
darrays_dlb
module~darrays->module~darrays_dlb
module~darrays_types
darrays_types
module~darrays->module~darrays_types
module~pic_mpi_lib
pic_mpi_lib
module~darrays->module~pic_mpi_lib
pic_types
pic_types
module~darrays->pic_types
module~darrays_core->module~darrays_types
module~darrays_core->module~pic_mpi_lib
module~darrays_core->pic_types
module~darrays_distrib
darrays_distrib
module~darrays_core->module~darrays_distrib
mpi_f08
mpi_f08
module~darrays_core->mpi_f08
module~darrays_dlb->module~pic_mpi_lib
module~darrays_dlb->pic_types
module~darrays_dlb->mpi_f08
module~darrays_types->module~pic_mpi_lib
module~darrays_types->pic_types
module~pic_mpi_f08
pic_mpi_f08
module~pic_mpi_lib->module~pic_mpi_f08
module~darrays_distrib->pic_types
module~darrays_distrib->mpi_f08
module~pic_mpi_f08->pic_types
module~pic_mpi_f08->mpi_f08
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility Attributes
Name
Initial
type(comm_t ),
private,
save
::
wrapper_comm
logical,
private,
save
::
wrapper_initialized
=
.false.
Subroutines
Global sum for double precision array (DDI_GSUMF equivalent)
Read more…
Arguments
Type
Intent Optional Attributes
Name
real(kind=dp),
intent(inout)
::
buffer (*)
integer(kind=int32),
intent(in)
::
n
Global sum for integer array (DDI_GSUMI equivalent)
Read more…
Arguments
Type
Intent Optional Attributes
Name
integer(kind=int32),
intent(inout)
::
buffer (*)
integer(kind=int32),
intent(in)
::
n
Get number of processes and current rank (DDI_NPROC equivalent)
Arguments
Type
Intent Optional Attributes
Name
integer(kind=int32),
intent(out)
::
np
Output: total number of processes
integer(kind=int32),
intent(out)
::
me
Synchronization barrier (DDI_SYNC equivalent)
Arguments
Type
Intent Optional Attributes
Name
integer(kind=int32),
intent(in)
::
tag
Ignored (for DDI compatibility)
Set communicator for convenience wrappers
Read more…
Arguments
Type
Intent Optional Attributes
Name
type(comm_t ),
intent(in)
::
comm