|
TiledArray
0.7.0
|
Maps cyclically a sequence of indices onto a 2-d matrix of processes. More...
#include <cyclic_pmap.h>


Public Types | |
| typedef Pmap::size_type | size_type |
| Size type. More... | |
Public Types inherited from TiledArray::Pmap | |
| typedef std::size_t | size_type |
| Size type. More... | |
| typedef std::vector< size_type >::const_iterator | const_iterator |
| Iterator type. More... | |
Public Member Functions | |
| CyclicPmap (World &world, size_type rows, size_type cols, size_type proc_rows, size_type proc_cols) | |
| Construct process map. More... | |
| virtual | ~CyclicPmap () |
| size_type | nrows () const |
| Access number of rows in the tile index matrix. More... | |
| size_type | ncols () const |
| Access number of columns in the tile index matrix. More... | |
| size_type | nrows_proc () const |
| Access number of rows in the process matrix. More... | |
| size_type | ncols_proc () const |
| Access number of columns in the process matrix. More... | |
| virtual size_type | owner (const size_type tile) const |
Maps tile to the processor that owns it. More... | |
| virtual bool | is_local (const size_type tile) const |
| Check that the tile is owned by this process. More... | |
Public Member Functions inherited from TiledArray::Pmap | |
| Pmap (World &world, const size_type size) | |
| Process map constructor. More... | |
| virtual | ~Pmap () |
| size_type | size () const |
| Size accessor. More... | |
| size_type | rank () const |
| Process rank accessor. More... | |
| size_type | procs () const |
| Process count accessor. More... | |
| size_type | local_size () const |
| Local size accessor. More... | |
| bool | empty () const |
| Check if there are any local elements. More... | |
| virtual bool | is_replicated () const |
| Replicated array status. More... | |
| const_iterator | begin () const |
| Begin local element iterator. More... | |
| const_iterator | end () const |
| End local element iterator. More... | |
Protected Attributes | |
| const size_type | rank_ |
| The rank of this process. More... | |
| const size_type | procs_ |
| < The rank of this process More... | |
| const size_type | size_ |
| < The number of processes More... | |
| std::vector< size_type > | local_ |
| < The number of tiles mapped among all processes More... | |
Protected Attributes inherited from TiledArray::Pmap | |
| const size_type | rank_ |
| The rank of this process. More... | |
| const size_type | procs_ |
| The number of processes. More... | |
| const size_type | size_ |
| The number of tiles mapped among all processes. More... | |
| std::vector< size_type > | local_ |
| A list of local tiles. More... | |
Maps cyclically a sequence of indices onto a 2-d matrix of processes.
Consider a sequence of indices
, organized into a matrix,
, in row-major form, i.e. index
corresponds to
. Similarly, a sequence of processes is organized into a matrix with
rows and
columns, i.e process
. Then index
maps to process 
Definition at line 46 of file cyclic_pmap.h.
Size type.
Definition at line 63 of file cyclic_pmap.h.
|
inline |
Construct process map.
| world | The world where the tiles will be mapped |
| rows | The number of tile rows to be mapped |
| cols | The number of tile columns to be mapped |
| proc_rows | The number of process rows in the map |
| proc_cols | The number of process columns in the map |
| TiledArray::Exception | When proc_rows > rows |
| TiledArray::Exception | When proc_cols > cols |
| TiledArray::Exception | When proc_rows * proc_cols > world.size() |
Definition at line 75 of file cyclic_pmap.h.

|
inlinevirtual |
Definition at line 114 of file cyclic_pmap.h.
|
inlinevirtual |
Check that the tile is owned by this process.
| tile | The tile to be checked |
true if tile is owned by this process, otherwise false . Implements TiledArray::Pmap.
Definition at line 150 of file cyclic_pmap.h.

|
inline |
Access number of columns in the tile index matrix.
Definition at line 119 of file cyclic_pmap.h.
|
inline |
Access number of columns in the process matrix.
Definition at line 123 of file cyclic_pmap.h.
|
inline |
Access number of rows in the tile index matrix.
Definition at line 117 of file cyclic_pmap.h.
|
inline |
Access number of rows in the process matrix.
Definition at line 121 of file cyclic_pmap.h.
Maps tile to the processor that owns it.
| tile | The tile to be queried |
tile Implements TiledArray::Pmap.
Definition at line 129 of file cyclic_pmap.h.

|
protected |
|
protected |
|
protected |
|
protected |