buds  0.1
FORTRAN reference counted types
Data Types | Modules | Functions/Subroutines | Variables
bud_Dist1D.f90 File Reference

Data Types

type  idist1d
 bud variable More...
 
type  idist1d_
 bud container for the distributions More...
 
interface  get_comm
 Query communicator of the distribution. More...
 
interface  get_commp
 Query pointer to communicator of the distribution. More...
 
interface  get_group
 Query group of the distribution. More...
 
interface  get_groupp
 Query pointer to group of the distribution. More...
 
interface  get_p
 Query ID for current processor in distribution. More...
 
interface  get_pp
 Query pointer to the ID for current processor in distribution. More...
 
interface  get_np
 Query number of processors in distribution. More...
 
interface  get_npp
 Query pointer to the number of processors in distribution. More...
 
interface  size_block
 Query block-size (if DIST_BLOCK_?) More...
 
interface  get_blocksize
 Query block-size (if DIST_BLOCK_?) More...
 
interface  attach
 Attach/Query several quantities at once. More...
 
interface  is_dist
 Assert the distribution type. More...
 
interface  is_comm
 Query whether a communicator is associated. More...
 
interface  dtype
 Query the distribution type. More...
 
interface  new
 Create a new object. More...
 
interface  new_idist1d
 Create a new object. More...
 
interface  newfake
 Create a new object which is "fake". More...
 
interface  size_local
 Query number of elements on this node. More...
 
interface  size_global
 Query number of total elements. More...
 
interface  size
 Query number of total elements. More...
 
interface  local2global
 Query global index from a local index. More...
 
interface  global2local
 Query local index from a global index. More...
 
interface  global2p
 Query number of elements on this node. More...
 
interface  fake_sub
 Create a fake distribution on non-participating processors in a sub. More...
 
interface  sub1_root
 Query root processor and number of processors in one sub distribution. More...
 
interface  sub1_root_np
 Query root processor and number of processors in one sub distribution. More...
 
interface  sub1_ranks
 Retrieve the ranks of a sub distribution within a top-level distribution. More...
 
interface  subn_groups
 Query subset information from multiple subsets simultaneously. More...
 
interface  get_mpierr
 Query error of previous MPI calls. More...
 
interface  print
 Print information about the bud. More...
 
interface  assignment(=)
 Assignment of bud to another bud. More...
 
interface  initialize
 Initialization of data container. More...
 
interface  is_initialized
 Query whether bud is associated with any data. More...
 
interface  initialized
 See interface is_initialized More...
 
interface  is_initd
 See interface is_initialized More...
 
interface  is_same
 Check whether two buds point to the same data (function) More...
 
interface  same
 See interface #is_same More...
 
interface  delete
 Deletes the bud by decreasing references to the underlying data. More...
 
interface  nullify
 Nullifies the current bud. More...
 
interface  references
 Query number of references to the bud. More...
 
interface  refs
 See interface #references More...
 
type  ldist1d
 bud variable More...
 
type  ldist1d_
 bud container for the distributions More...
 
interface  get_comm
 Query communicator of the distribution. More...
 
interface  get_commp
 Query pointer to communicator of the distribution. More...
 
interface  get_group
 Query group of the distribution. More...
 
interface  get_groupp
 Query pointer to group of the distribution. More...
 
interface  get_p
 Query ID for current processor in distribution. More...
 
interface  get_pp
 Query pointer to the ID for current processor in distribution. More...
 
interface  get_np
 Query number of processors in distribution. More...
 
interface  get_npp
 Query pointer to the number of processors in distribution. More...
 
interface  size_block
 Query block-size (if DIST_BLOCK_?) More...
 
interface  get_blocksize
 Query block-size (if DIST_BLOCK_?) More...
 
interface  attach
 Attach/Query several quantities at once. More...
 
interface  is_dist
 Assert the distribution type. More...
 
interface  is_comm
 Query whether a communicator is associated. More...
 
interface  dtype
 Query the distribution type. More...
 
interface  new
 Create a new object. More...
 
interface  new_ldist1d
 Create a new object. More...
 
interface  newfake
 Create a new object which is "fake". More...
 
interface  size_local
 Query number of elements on this node. More...
 
interface  size_global
 Query number of total elements. More...
 
interface  size
 Query number of total elements. More...
 
interface  local2global
 Query global index from a local index. More...
 
interface  global2local
 Query local index from a global index. More...
 
interface  global2p
 Query number of elements on this node. More...
 
interface  fake_sub
 Create a fake distribution on non-participating processors in a sub. More...
 
interface  sub1_root
 Query root processor and number of processors in one sub distribution. More...
 
interface  sub1_root_np
 Query root processor and number of processors in one sub distribution. More...
 
interface  sub1_ranks
 Retrieve the ranks of a sub distribution within a top-level distribution. More...
 
interface  subn_groups
 Query subset information from multiple subsets simultaneously. More...
 
interface  get_mpierr
 Query error of previous MPI calls. More...
 
interface  print
 Print information about the bud. More...
 
interface  assignment(=)
 Assignment of bud to another bud. More...
 
interface  initialize
 Initialization of data container. More...
 
interface  is_initialized
 Query whether bud is associated with any data. More...
 
interface  initialized
 See interface is_initialized More...
 
interface  is_initd
 See interface is_initialized More...
 
interface  is_same
 Check whether two buds point to the same data (function) More...
 
interface  same
 See interface #is_same More...
 
interface  delete
 Deletes the bud by decreasing references to the underlying data. More...
 
interface  nullify
 Nullifies the current bud. More...
 
interface  references
 Query number of references to the bud. More...
 
interface  refs
 See interface #references More...
 

Modules

module  bud_idist1d
 
module  bud_ldist1d
 

Functions/Subroutines

subroutine initialize_ (this)
 
pure logical function is_initialized_ (this)
 
elemental logical function is_same_ (lhs, rhs)
 
subroutine delete_ (this)
 
elemental subroutine nullify_ (this)
 
subroutine assign_ (lhs, rhs)
 
elemental integer function references_ (this)
 
subroutine, private delete_data (this)
 Internal routine for cleaning up the data container. More...
 
elemental integer(ii_) function comm_ (this)
 Query the associated communicator. More...
 
integer(ii_) function, pointer commp_ (this)
 Query the associated communicator. More...
 
elemental integer(ii_) function group_ (this)
 Query the associated group. More...
 
integer(ii_) function, pointer groupp_ (this)
 Query the associated group. More...
 
elemental integer(ii_) function p_ (this)
 Query the current processor ID in the communicator. More...
 
integer(ii_) function, pointer pp_ (this)
 Query pointer to the current processor ID in the communicator. More...
 
elemental integer(ii_) function np_ (this)
 Query the number of processors in the communicator. More...
 
integer(ii_) function, pointer npp_ (this)
 Query pointer to the number of processors in the communicator. More...
 
elemental integer(ii_) function size_ (this)
 Query the default size of the distribution. More...
 
elemental integer(ii_) function blocksize_ (this)
 Query the block-size, -1 if non-block-cyclic. More...
 
elemental logical function is_dist_ (this, dist)
 Assert the distribution type. More...
 
elemental integer(ii_) function dtype_ (this)
 Query distribution type used. More...
 
subroutine attach_ (this, D, P, NP, ng, Comm, Grp, BS, err)
 Query several contained quantities. More...
 
subroutine new_ (this, Comm)
 Basic routine for initializing a new distribution. More...
 
subroutine new_block_cyclic_ (this, Comm, bs, ng, dist)
 Create a new block cyclic distribution. More...
 
subroutine new_block_ (this, Comm, ng, dist)
 Create a new block distribution. More...
 
subroutine new_fake_block_cyclic_ (this, NP, BS, ng, dist)
 Create a new block cyclic distribution. More...
 
subroutine new_fake_block_ (this, NP, ng, dist)
 Create a new block distribution (non-cyclic) More...
 
elemental integer(ii_) function size_local_default_ (this)
 
elemental integer(ii_) function size_local_ng_ (this, ng)
 
elemental integer(ii_) function l2g_default_ (this, il)
 
elemental integer(ii_) function l2g_ng_ (this, il, ng)
 
elemental integer(ii_) function g2l_default_ (this, ig)
 
elemental integer(ii_) function g2l_ng_ (this, ig, ng)
 
elemental integer(ii_) function g2p_default_ (this, ig)
 
elemental integer(ii_) function g2p_ng_ (this, ig, ng)
 
elemental logical function is_comm_ (this)
 Query whether a communicator is not MPI_COMM_NULL. More...
 
subroutine fake_sub_ (set, sub)
 Convert a sub distribution to a fake distribution on non-sub processors. More...
 
subroutine fake_sub_explicit_ (set, sub, sub_root)
 Copy a distribution via a set communicator and "sub_root" node. More...
 
subroutine sub1_ranks_ (set, sub, rank)
 Retrieve a common rank array from a subset distribution. More...
 
subroutine sub1_root_ (set, sub, sub_root)
 Retrieve common information about set/sub relationship. More...
 
subroutine sub1_root_np_ (set, sub, sub_root, sub_NP)
 Retrieve common information about set/sub relationship. More...
 
subroutine subn_groups_ (set, sub, sub_root, Ng, groups)
 Retrieve common information about set/sub relationship for N subsets. More...
 
elemental integer(ii_) function get_mpierr_ (this)
 Function for retrieving the latest error messag. More...
 
subroutine print_ (this, info, indent)
 Print, to std-out, some basic information of the data-container. More...
 
subroutine initialize_ (this)
 
pure logical function is_initialized_ (this)
 
elemental logical function is_same_ (lhs, rhs)
 
subroutine delete_ (this)
 
elemental subroutine nullify_ (this)
 
subroutine assign_ (lhs, rhs)
 
elemental integer function references_ (this)
 
subroutine, private delete_data (this)
 Internal routine for cleaning up the data container. More...
 
elemental integer(ii_) function comm_ (this)
 Query the associated communicator. More...
 
integer(ii_) function, pointer commp_ (this)
 Query the associated communicator. More...
 
elemental integer(ii_) function group_ (this)
 Query the associated group. More...
 
integer(ii_) function, pointer groupp_ (this)
 Query the associated group. More...
 
elemental integer(ii_) function p_ (this)
 Query the current processor ID in the communicator. More...
 
integer(ii_) function, pointer pp_ (this)
 Query pointer to the current processor ID in the communicator. More...
 
elemental integer(ii_) function np_ (this)
 Query the number of processors in the communicator. More...
 
integer(ii_) function, pointer npp_ (this)
 Query pointer to the number of processors in the communicator. More...
 
elemental integer(ii_) function size_ (this)
 Query the default size of the distribution. More...
 
elemental integer(ii_) function blocksize_ (this)
 Query the block-size, -1 if non-block-cyclic. More...
 
elemental logical function is_dist_ (this, dist)
 Assert the distribution type. More...
 
elemental integer(ii_) function dtype_ (this)
 Query distribution type used. More...
 
subroutine attach_ (this, D, P, NP, ng, Comm, Grp, BS, err)
 Query several contained quantities. More...
 
subroutine new_ (this, Comm)
 Basic routine for initializing a new distribution. More...
 
subroutine new_block_cyclic_ (this, Comm, bs, ng, dist)
 Create a new block cyclic distribution. More...
 
subroutine new_block_ (this, Comm, ng, dist)
 Create a new block distribution. More...
 
subroutine new_fake_block_cyclic_ (this, NP, BS, ng, dist)
 Create a new block cyclic distribution. More...
 
subroutine new_fake_block_ (this, NP, ng, dist)
 Create a new block distribution (non-cyclic) More...
 
elemental integer(il_) function size_local_default_ (this)
 
elemental integer(il_) function size_local_ng_ (this, ng)
 
elemental integer(il_) function l2g_default_ (this, il)
 
elemental integer(il_) function l2g_ng_ (this, il, ng)
 
elemental integer(il_) function g2l_default_ (this, ig)
 
elemental integer(il_) function g2l_ng_ (this, ig, ng)
 
elemental integer(il_) function g2p_default_ (this, ig)
 
elemental integer(il_) function g2p_ng_ (this, ig, ng)
 
elemental logical function is_comm_ (this)
 Query whether a communicator is not MPI_COMM_NULL. More...
 
subroutine fake_sub_ (set, sub)
 Convert a sub distribution to a fake distribution on non-sub processors. More...
 
subroutine fake_sub_explicit_ (set, sub, sub_root)
 Copy a distribution via a set communicator and "sub_root" node. More...
 
subroutine sub1_ranks_ (set, sub, rank)
 Retrieve a common rank array from a subset distribution. More...
 
subroutine sub1_root_ (set, sub, sub_root)
 Retrieve common information about set/sub relationship. More...
 
subroutine sub1_root_np_ (set, sub, sub_root, sub_NP)
 Retrieve common information about set/sub relationship. More...
 
subroutine subn_groups_ (set, sub, sub_root, Ng, groups)
 Retrieve common information about set/sub relationship for N subsets. More...
 
elemental integer(ii_) function get_mpierr_ (this)
 Function for retrieving the latest error messag. More...
 
subroutine print_ (this, info, indent)
 Print, to std-out, some basic information of the data-container. More...
 

Variables

integer, parameter, private bud_id_len = 36
 bud_iDist1D documentation for various distribution types. More...
 
character(len=*), parameter, private bud_mod = "bud_" // "bud_iDist1D"
 Name of module. More...
 
character(len=*), parameter, private bud_type = "iDist1D"
 Name of bud in this module. More...
 
integer(ii_), parameter, public dist_none = 1
 Denote no distribution. More...
 
integer(ii_), parameter, public dist_block_cyclic_first = 2
 Block-cyclic distribution, remaining goes to first processor. More...
 
integer(ii_), parameter, public dist_block_cyclic = DIST_BLOCK_CYCLIC_FIRST
 Block-cyclic distribution, remaining goes to last processor. More...
 
integer(ii_), parameter, private dist_explicit = 4
 User defined distribution (DIST_EXPLICIT) More...
 
integer(ii_), parameter, public dist_block_first = 5
 A simple block-partitioning (remainder to first process) More...
 
integer(ii_), parameter, public dist_block_last = 6
 A simple block-partitioning (remainder to last process) More...
 
integer, parameter, private bud_id_len = 36
 bud_lDist1D documentation for various distribution types. More...
 
character(len=*), parameter, private bud_mod = "bud_" // "bud_lDist1D"
 Name of module. More...
 
character(len=*), parameter, private bud_type = "lDist1D"
 Name of bud in this module. More...
 
integer(ii_), parameter, public dist_none = 1
 Denote no distribution. More...
 
integer(ii_), parameter, public dist_block_cyclic_first = 2
 Block-cyclic distribution, remaining goes to first processor. More...
 
integer(ii_), parameter, public dist_block_cyclic = DIST_BLOCK_CYCLIC_FIRST
 Block-cyclic distribution, remaining goes to last processor. More...
 
integer(ii_), parameter, private dist_explicit = 4
 User defined distribution (DIST_EXPLICIT) More...
 
integer(ii_), parameter, public dist_block_first = 5
 A simple block-partitioning (remainder to first process) More...
 
integer(ii_), parameter, public dist_block_last = 6
 A simple block-partitioning (remainder to last process) More...