Documentation
template<typename Tile, typename Policy>
class TiledArray::detail::DistEval< Tile, Policy >
Tensor expression object.
This object holds a tensor expression. It is used to store various type of tensor expressions that depend on the pimpl used to construct the expression.
- Template Parameters
-
Tile The output tile type Policy The tensor policy class
Definition at line 247 of file dist_eval.h.
Public Types | |
typedef DistEval< Tile, Policy > | DistEval_ |
This class type. More... | |
typedef DistEvalImpl< Tile, Policy > | impl_type |
Implementation base class type. More... | |
typedef impl_type::ordinal_type | ordinal_type |
Ordinal type. More... | |
typedef impl_type::trange_type | trange_type |
Tiled range type for this object. More... | |
typedef impl_type::range_type | range_type |
Range type this tensor. More... | |
typedef impl_type::shape_type | shape_type |
Tensor shape type. More... | |
typedef impl_type::pmap_interface | pmap_interface |
Process map interface type. More... | |
typedef impl_type::value_type | value_type |
Tile type. More... | |
typedef impl_type::eval_type | eval_type |
Tile evaluation type. More... | |
typedef Future< value_type > | future |
Future of tile type. More... | |
Public Member Functions | |
template<typename Impl > | |
DistEval (const std::shared_ptr< Impl > &pimpl) | |
Constructor. More... | |
DistEval (const DistEval_ &other) | |
Copy constructor. More... | |
DistEval_ & | operator= (const DistEval_ &other) |
Assignment operator. More... | |
void | eval () |
Evaluate this object. More... | |
const range_type & | range () const |
Tensor tile size array accessor. More... | |
ordinal_type | size () const |
Tensor tile volume accessor. More... | |
ProcessID | owner (ordinal_type i) const |
Query a tile owner. More... | |
bool | is_local (ordinal_type i) const |
Query for a locally owned tile. More... | |
bool | is_zero (ordinal_type i) const |
Query for a zero tile. More... | |
const std::shared_ptr< pmap_interface > & | pmap () const |
Tensor process map accessor. More... | |
bool | is_dense () const |
Query the density of the tensor. More... | |
const shape_type & | shape () const |
Tensor shape accessor. More... | |
const trange_type & | trange () const |
Tiled range accessor. More... | |
future | get (ordinal_type i) const |
Tile move. More... | |
virtual void | discard (ordinal_type i) const |
Discard a tile that is not needed. More... | |
World & | world () const |
World object accessor. More... | |
madness::uniqueidT | id () const |
Unique object id. More... | |
void | wait () const |
Wait for all local tiles to be evaluated. More... | |
Member Typedef Documentation
◆ DistEval_
typedef DistEval<Tile, Policy> TiledArray::detail::DistEval< Tile, Policy >::DistEval_ |
This class type.
Definition at line 249 of file dist_eval.h.
◆ eval_type
typedef impl_type::eval_type TiledArray::detail::DistEval< Tile, Policy >::eval_type |
Tile evaluation type.
Definition at line 261 of file dist_eval.h.
◆ future
typedef Future<value_type> TiledArray::detail::DistEval< Tile, Policy >::future |
Future of tile type.
Definition at line 262 of file dist_eval.h.
◆ impl_type
typedef DistEvalImpl<Tile, Policy> TiledArray::detail::DistEval< Tile, Policy >::impl_type |
Implementation base class type.
Definition at line 251 of file dist_eval.h.
◆ ordinal_type
typedef impl_type::ordinal_type TiledArray::detail::DistEval< Tile, Policy >::ordinal_type |
Ordinal type.
Definition at line 252 of file dist_eval.h.
◆ pmap_interface
typedef impl_type::pmap_interface TiledArray::detail::DistEval< Tile, Policy >::pmap_interface |
Process map interface type.
Definition at line 259 of file dist_eval.h.
◆ range_type
typedef impl_type::range_type TiledArray::detail::DistEval< Tile, Policy >::range_type |
Range type this tensor.
Definition at line 256 of file dist_eval.h.
◆ shape_type
typedef impl_type::shape_type TiledArray::detail::DistEval< Tile, Policy >::shape_type |
Tensor shape type.
Definition at line 257 of file dist_eval.h.
◆ trange_type
typedef impl_type::trange_type TiledArray::detail::DistEval< Tile, Policy >::trange_type |
Tiled range type for this object.
Definition at line 254 of file dist_eval.h.
◆ value_type
typedef impl_type::value_type TiledArray::detail::DistEval< Tile, Policy >::value_type |
Tile type.
Definition at line 260 of file dist_eval.h.
Constructor & Destructor Documentation
◆ DistEval() [1/2]
|
inline |
Constructor.
- Parameters
-
pimpl A pointer to the expression implementation object
Definition at line 272 of file dist_eval.h.
◆ DistEval() [2/2]
|
inline |
Copy constructor.
Create a shallow copy of other
.
- Parameters
-
other The object to be copied.
Definition at line 281 of file dist_eval.h.
Member Function Documentation
◆ discard()
|
inlinevirtual |
Discard a tile that is not needed.
This function handles the cleanup for tiles that are not needed in subsequent computation.
- Parameters
-
i The index of the tile
Definition at line 361 of file dist_eval.h.
◆ eval()
|
inline |
Evaluate this object.
This function will evaluate the children of this distributed evaluator and evaluate the tiles for this distributed evaluator. It will block until the tasks for the children are evaluated (not for the tasks of this object).
Definition at line 299 of file dist_eval.h.
◆ get()
|
inline |
Tile move.
Tile is removed after it is set.
- Parameters
-
i The tile index
- Returns
- Tile
i
Definition at line 354 of file dist_eval.h.
◆ id()
|
inline |
Unique object id.
- Returns
- The unique id for this object
Definition at line 371 of file dist_eval.h.
◆ is_dense()
|
inline |
Query the density of the tensor.
- Returns
true
if the tensor is dense, otherwise false
Definition at line 337 of file dist_eval.h.
◆ is_local()
|
inline |
Query for a locally owned tile.
- Parameters
-
i The tile index to query
- Returns
true
if the tile is owned by this node, otherwisefalse
Definition at line 321 of file dist_eval.h.
◆ is_zero()
|
inline |
Query for a zero tile.
- Parameters
-
i The tile index to query
- Returns
true
if the tile is zero, otherwisefalse
Definition at line 327 of file dist_eval.h.
◆ operator=()
|
inline |
Assignment operator.
Create a shallow copy of other
- Parameters
-
other The object to be copied
- Returns
- A reference to this object
Definition at line 288 of file dist_eval.h.
◆ owner()
|
inline |
Query a tile owner.
- Parameters
-
i The tile index to query
- Returns
- The process ID of the node that owns tile
i
Definition at line 315 of file dist_eval.h.
◆ pmap()
|
inline |
Tensor process map accessor.
- Returns
- A shared pointer to the process map of this tensor
Definition at line 332 of file dist_eval.h.
◆ range()
|
inline |
Tensor tile size array accessor.
- Returns
- The size array of the tensor tiles
Definition at line 304 of file dist_eval.h.
◆ shape()
|
inline |
Tensor shape accessor.
- Returns
- A reference to the tensor shape map
Definition at line 342 of file dist_eval.h.
◆ size()
|
inline |
Tensor tile volume accessor.
- Returns
- The number of tiles in the tensor
Definition at line 309 of file dist_eval.h.
◆ trange()
|
inline |
Tiled range accessor.
- Returns
- The tiled range of the tensor
Definition at line 347 of file dist_eval.h.
◆ wait()
|
inline |
Wait for all local tiles to be evaluated.
Definition at line 374 of file dist_eval.h.
◆ world()
|
inline |
World object accessor.
- Returns
- A reference to the world object
Definition at line 366 of file dist_eval.h.
The documentation for this class was generated from the following file:
- TiledArray/dist_eval/dist_eval.h