

Documentation
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 
- Note
- This class is used to map tile indices to processes.
Definition at line 48 of file 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 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... | |
| virtual const_iterator | begin () const |
| Begin local element iterator. More... | |
| virtual const_iterator | end () const |
| End local element iterator. 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... | |
| virtual bool | known_local_size () const |
| Queries whether local size is known. 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 const_iterator | cbegin () const |
| Begin local element iterator. More... | |
| const const_iterator | cend () const |
| End local element iterator. More... | |
Protected Attributes | |
| const size_type | procs_ |
| The number of processes. More... | |
| const size_type | rank_ |
| < The number of processes More... | |
| const size_type | size_ |
| < The rank of this process 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 (may be empty, if not needed) More... | |
| size_type | local_size_ |
Member Typedef Documentation
◆ size_type
Size type.
Definition at line 67 of file cyclic_pmap.h.
Constructor & Destructor Documentation
◆ CyclicPmap()
|
inline |
Construct process map.
- Parameters
-
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
- Exceptions
-
TiledArray::Exception When proc_rows > rowsTiledArray::Exception When proc_cols > colsTiledArray::Exception When proc_rows * proc_cols > world.size()
Definition at line 80 of file cyclic_pmap.h.
◆ ~CyclicPmap()
|
inlinevirtual |
Definition at line 112 of file cyclic_pmap.h.
Member Function Documentation
◆ begin()
|
inlinevirtual |
Begin local element iterator.
- Returns
- An iterator that points to the beginning of the local element set
Reimplemented from TiledArray::Pmap.
Definition at line 182 of file cyclic_pmap.h.

◆ end()
|
inlinevirtual |
End local element iterator.
- Returns
- An iterator that points to the beginning of the local element set
Reimplemented from TiledArray::Pmap.
Definition at line 188 of file cyclic_pmap.h.

◆ is_local()
|
inlinevirtual |
Check that the tile is owned by this process.
- Parameters
-
tile The tile to be checked
- Returns
trueiftileis owned by this process, otherwisefalse.
Implements TiledArray::Pmap.
Definition at line 147 of file cyclic_pmap.h.

◆ ncols()
|
inline |
Access number of columns in the tile index matrix.
Definition at line 117 of file cyclic_pmap.h.
◆ ncols_proc()
|
inline |
Access number of columns in the process matrix.
Definition at line 121 of file cyclic_pmap.h.
◆ nrows()
|
inline |
Access number of rows in the tile index matrix.
Definition at line 115 of file cyclic_pmap.h.
◆ nrows_proc()
|
inline |
Access number of rows in the process matrix.
Definition at line 119 of file cyclic_pmap.h.
◆ owner()
Maps tile to the processor that owns it.
- Parameters
-
tile The tile to be queried
- Returns
- Processor that logically owns
tile
Implements TiledArray::Pmap.
Definition at line 127 of file cyclic_pmap.h.

Member Data Documentation
◆ procs_
|
protected |
◆ rank_
|
protected |
◆ size_
|
protected |
The documentation for this class was generated from the following file:
- TiledArray/pmap/cyclic_pmap.h
Public Types inherited from
1.8.20