buds
0.1
FORTRAN reference counted types
|
bud container for the distributions More...
Private Attributes | |
integer(ii_) | err = MPI_SUCCESS |
Storage for MPI-error, allows external query. More... | |
integer(ii_) | comm = MPI_Comm_Null |
The associated communicator. More... | |
integer(ii_) | grp = MPI_Group_Null |
The group that encompass the equivalent communicator. More... | |
integer(ii_) | p = 0 |
The associated processor number. More... | |
integer(ii_) | np = 1 |
The number of processors in Comm More... | |
integer(ii_) | dist = DIST_NONE |
The distribution type. More... | |
integer(ii_) | ng = -1 |
Number of (total) elements in the distribution. More... | |
integer(ii_) | bs = -1 |
Block-size if BLOCK_CYCLIC distribution is used. More... | |
integer(ii_), dimension(:), pointer, contiguous | nl => null() |
Number of (local) elements in the distribution. More... | |
integer(ii_), dimension(:), pointer, contiguous | l2g => null() |
Local index to global index. More... | |
integer(ii_), dimension(:), pointer, contiguous | i2g => null() |
Global index to processor. More... | |
bud container for the distributions
Any information regarding the MPI processors are defined from processor number 0. Hence the range of ranks in the communicator are 0, 1, ..., NP - 1.
In general this bud owning processor will be referenced by P
and the number of associated processors are NP
.
For advanced (future) distributions one will eventually implement routines specific for certain distributions. This is a needed abstraction to retain a single type as a container for any distribution without increasing the complexity.
-note It has been considered to use transfer mechanisms for allowing a single container for multiple distribution types. However, the added complexity seems overkill in this regard. In any case we encourage that any additional distribution implementation creates routine names which does not per-see take note of the other routine names for other distribution types. This may help future splitting of the underlying data type without forcing code changes in the user code.