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

Documentation

Hashed process map.

Definition at line 35 of file hash_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

 HashPmap (World &world, const size_type size, madness::hashT seed=0ul)
 Construct a hashed process map. More...
 
virtual ~HashPmap ()
 
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 bool known_local_size () const
 Queries whether local size is known. 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...
 
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

Size type.

Definition at line 46 of file hash_pmap.h.

Constructor & Destructor Documentation

◆ HashPmap()

TiledArray::detail::HashPmap::HashPmap ( World &  world,
const size_type  size,
madness::hashT  seed = 0ul 
)
inline

Construct a hashed process map.

Parameters
worldThe world where the tiles are mapped
sizeThe number of tiles to be mapped
seedThe hash seed used to generate different maps

Definition at line 53 of file hash_pmap.h.

◆ ~HashPmap()

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

Definition at line 56 of file hash_pmap.h.

Member Function Documentation

◆ is_local()

virtual bool TiledArray::detail::HashPmap::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 73 of file hash_pmap.h.

Here is the call graph for this function:

◆ known_local_size()

virtual bool TiledArray::detail::HashPmap::known_local_size ( ) const
inlinevirtual

Queries whether local size is known.

Returns
true if the number of local elements is known
Note
Override if it is too expensive to precompute

Reimplemented from TiledArray::Pmap.

Definition at line 77 of file hash_pmap.h.

◆ owner()

virtual size_type TiledArray::detail::HashPmap::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 62 of file hash_pmap.h.

Here is the caller graph for this function:

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: