TiledArray::detail::RoundRobinPmap Class Reference
Inheritance diagram for TiledArray::detail::RoundRobinPmap:
Collaboration diagram for TiledArray::detail::RoundRobinPmap:

Documentation

A blocked process map.

Map N elements among P processes into blocks that are approximately N/P elements in size. A minimum block size may also be specified.

Definition at line 17 of file round_robin_pmap.h.

Public Types

typedef Pmap::size_type size_type
 Key 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

 RoundRobinPmap (World &world, size_type size)
 Construct Round Robin map. More...
 
virtual ~RoundRobinPmap ()
 
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...
 
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...
 
virtual const_iterator begin () const
 Begin local element iterator. More...
 
virtual const_iterator end () const
 End local element iterator. 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_typelocal_
 A list of local tiles (may be empty, if not needed) More...
 
size_type local_size_
 

Member Typedef Documentation

◆ size_type

Constructor & Destructor Documentation

◆ RoundRobinPmap()

TiledArray::detail::RoundRobinPmap::RoundRobinPmap ( World &  world,
size_type  size 
)
inline

Construct Round Robin map.

Parameters
worldThe world where the tiles will be mapped
sizeThe number of tiles to be mapped

Definition at line 34 of file round_robin_pmap.h.

Here is the call graph for this function:

◆ ~RoundRobinPmap()

virtual TiledArray::detail::RoundRobinPmap::~RoundRobinPmap ( )
inlinevirtual

Definition at line 43 of file round_robin_pmap.h.

Member Function Documentation

◆ is_local()

virtual bool TiledArray::detail::RoundRobinPmap::is_local ( const size_type  tile) const
inlinevirtual

Check that the tile is owned by this process.

Parameters
tileThe tile to be checked
Returns
true if tile is owned by this process, otherwise false .

Implements TiledArray::Pmap.

Definition at line 58 of file round_robin_pmap.h.

◆ owner()

virtual size_type TiledArray::detail::RoundRobinPmap::owner ( const size_type  tile) const
inlinevirtual

Maps tile to the processor that owns it.

Parameters
tileThe tile to be queried
Returns
Processor that logically owns tile

Implements TiledArray::Pmap.

Definition at line 49 of file round_robin_pmap.h.

Member Data Documentation

◆ procs_

const size_type TiledArray::Pmap::procs_
protected

The number of processes.

Definition at line 61 of file pmap.h.

◆ rank_

const size_type TiledArray::Pmap::rank_
protected

< The number of processes

Definition at line 60 of file pmap.h.

◆ size_

const size_type TiledArray::Pmap::size_
protected

< The rank of this process

Definition at line 62 of file pmap.h.


The documentation for this class was generated from the following file: