|
NESSi
v1.0.2
The NonEquilibrium Systems Simulation Library
|
Auxiliary data structure for handling set of data blocks and includes usual MPI processes on them. More...
#include <cntr_distributed_array_decl.hpp>
Inheritance diagram for cntr::distributed_array< T >:Public Member Functions | |
| T * | block (int j) |
| Returns the pointer to block j. More... | |
| int | blocksize (void) const |
| void | clear (void) |
| Clear all data More... | |
| T * | data (void) const |
| distributed_array () | |
| distributed_array (const distributed_array &g) | |
| distributed_array (int n, int maxlen, bool mpi) | |
Initializes the distributed_array class. More... | |
| int | firstblock_rank (void) |
| Return first blocks on rank. More... | |
| int | maxlen (void) const |
| void | mpi_bcast_all (void) |
| MPI Allgather equivalent for the distributed array More... | |
| void | mpi_bcast_all (void) |
| void | mpi_bcast_block (int j) |
| MPI broadcast of j-th block More... | |
| void | mpi_bcast_block (int j) |
| void | mpi_gather (void) |
| void | mpi_gather (int dest) |
| MPI gather for the distributed array More... | |
| void | mpi_send_block (int j, int dest) |
| Sends the j-th block to the MPI rank dest More... | |
| int | n (void) const |
| int | ntasks (void) const |
| int | numblock_rank (void) |
| Return number of blocks on rank. More... | |
| distributed_array & | operator= (const distributed_array &g) |
| bool | rank_owns (int k) const |
| void | reset_blocksize (int blocksize) |
| Reset the block size for each block. More... | |
| int | tid (void) const |
| std::vector< int > | tid_map (void) const |
| ~distributed_array () | |
Auxiliary data structure for handling set of data blocks and includes usual MPI processes on them.
Auxiliary data structure for handling of data blocks (total number is n_) , which are stored in * contiguous form in member data_ and includes usual MPI routines. The class identity is marked by * tid_ \( \in (0,\ldots,ntasks_-1) \) and the value of the tid_ is just the MPI rank or 0 if MPI is not defined. Each data block j is owned by precisely one process, which is given by \( tid * _map(j) = tid_\). The member maxlen marks the maximum size reserved for the block. NOTE: even if the block is not owned by the process, the space for the data is allocated; the ownership plays a role when the data are manipulated
Definition at line 30 of file cntr_distributed_array_decl.hpp.