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 > rows
TiledArray::Exception When proc_cols > cols
TiledArray::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
true
iftile
is 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