Documentation
template<typename Derived>
class TiledArray::expressions::LeafEngine< Derived >
Leaf expression engine.
- Template Parameters
-
Derived The derived class type
Definition at line 39 of file leaf_engine.h.
Public Types | |
typedef LeafEngine< Derived > | LeafEngine_ |
This class type. More... | |
typedef ExprEngine< Derived > | ExprEngine_ |
Base class type. More... | |
typedef EngineTrait< Derived >::array_type | array_type |
The left-hand expression type. More... | |
typedef EngineTrait< Derived >::value_type | value_type |
Tensor value type. More... | |
typedef EngineTrait< Derived >::op_type | op_type |
Tile operation type. More... | |
typedef EngineTrait< Derived >::policy | policy |
The result policy type. More... | |
typedef EngineTrait< Derived >::dist_eval_type | dist_eval_type |
This expression's distributed evaluator type. More... | |
typedef EngineTrait< Derived >::size_type | size_type |
Size type. More... | |
typedef EngineTrait< Derived >::trange_type | trange_type |
Tiled range type type. More... | |
typedef EngineTrait< Derived >::shape_type | shape_type |
Tensor shape type. More... | |
typedef EngineTrait< Derived >::pmap_interface | pmap_interface |
Process map interface type. More... | |
Public Types inherited from TiledArray::expressions::ExprEngine< Derived > | |
typedef ExprEngine< Derived > | ExprEngine_ |
typedef Derived | derived_type |
The derived object type. More... | |
typedef EngineTrait< Derived >::value_type | value_type |
Tensor value type. More... | |
typedef EngineTrait< Derived >::op_type | op_type |
Tile operation type. More... | |
typedef EngineTrait< Derived >::policy | policy |
The result policy type. More... | |
typedef EngineTrait< Derived >::dist_eval_type | dist_eval_type |
This expression's distributed evaluator type. More... | |
typedef EngineTrait< Derived >::size_type | size_type |
Size type. More... | |
typedef EngineTrait< Derived >::trange_type | trange_type |
Tiled range type type. More... | |
typedef EngineTrait< Derived >::shape_type | shape_type |
Tensor shape type. More... | |
typedef EngineTrait< Derived >::pmap_interface | pmap_interface |
Process map interface type. More... | |
Public Member Functions | |
template<typename D > | |
LeafEngine (const Expr< D > &expr) | |
Engine constructor. More... | |
void | perm_indices (const BipartiteIndexList &) |
Set the index list for this expression. More... | |
void | init_indices (const BipartiteIndexList &target_indices) |
Initialize the index list of this expression. More... | |
void | init_indices () |
Initialize the index list of this expression. More... | |
void | init_distribution (World *world, const std::shared_ptr< pmap_interface > &pmap) |
trange_type | make_trange () const |
Non-permuting tiled range factory function. More... | |
trange_type | make_trange (const Permutation &perm) const |
Permuting tiled range factory function. More... | |
shape_type | make_shape () |
Non-permuting shape factory function. More... | |
shape_type | make_shape (const Permutation &perm) |
Permuting shape factory function. More... | |
dist_eval_type | make_dist_eval () const |
Construct the distributed evaluator for array. More... | |
derived_type & | derived () |
Cast this object to its derived type. More... | |
const derived_type & | derived () const |
Cast this object to its derived type. More... | |
Public Member Functions inherited from TiledArray::expressions::ExprEngine< Derived > | |
template<typename D > | |
ExprEngine (const Expr< D > &expr) | |
Default constructor. More... | |
void | init (World &world, std::shared_ptr< pmap_interface > pmap, const BipartiteIndexList &target_indices) |
Construct and initialize the expression engine. More... | |
void | init_struct (const BipartiteIndexList &target_indices) |
Initialize result tensor structure. More... | |
void | init_distribution (World *world, const std::shared_ptr< pmap_interface > &pmap) |
Initialize result tensor distribution. More... | |
BipartitePermutation | make_perm (const BipartiteIndexList &target_indices) const |
Permutation factory function. More... | |
op_type | make_op () const |
Tile operation factory function. More... | |
derived_type & | derived () |
Cast this object to its derived type. More... | |
const derived_type & | derived () const |
Cast this object to its derived type. More... | |
World * | world () const |
World accessor. More... | |
const BipartiteIndexList & | indices () const |
Index list accessor. More... | |
const BipartitePermutation & | perm () const |
Permutation accessor. More... | |
const trange_type & | trange () const |
Tiled range accessor. More... | |
const shape_type & | shape () const |
Shape accessor. More... | |
const std::shared_ptr< pmap_interface > & | pmap () const |
Process map accessor. More... | |
void | permute_tiles (const bool status) |
Set the permute tiles flag. More... | |
void | print (ExprOStream &os, const BipartiteIndexList &target_indices) const |
Expression print. More... | |
const char * | make_tag () const |
Expression identification tag. More... | |
Static Public Attributes | |
static constexpr bool | consumable = EngineTrait<Derived>::consumable |
static constexpr unsigned int | leaves = EngineTrait<Derived>::leaves |
Protected Attributes | |
array_type | array_ |
The array object. More... | |
BipartiteIndexList | indices_ |
BipartitePermutation | perm_ |
The permutation that will be applied to the outer tensor of tensors. More... | |
bool | permute_tiles_ |
std::shared_ptr< pmap_interface > | pmap_ |
The process map for the result tensor. More... | |
shape_type | shape_ |
The shape of the result tensor. More... | |
trange_type | trange_ |
The tiled range of the result tensor. More... | |
World * | world_ |
The world where this expression will be evaluated. More... | |
Protected Attributes inherited from TiledArray::expressions::ExprEngine< Derived > | |
World * | world_ |
The world where this expression will be evaluated. More... | |
BipartiteIndexList | indices_ |
bool | permute_tiles_ |
BipartitePermutation | perm_ |
The permutation that will be applied to the outer tensor of tensors. More... | |
trange_type | trange_ |
The tiled range of the result tensor. More... | |
shape_type | shape_ |
The shape of the result tensor. More... | |
std::shared_ptr< pmap_interface > | pmap_ |
The process map for the result tensor. More... | |
std::shared_ptr< EngineParamOverride< Derived > > | override_ptr_ |
The engine params overriding the default. More... | |
Member Typedef Documentation
◆ array_type
typedef EngineTrait<Derived>::array_type TiledArray::expressions::LeafEngine< Derived >::array_type |
The left-hand expression type.
Definition at line 47 of file leaf_engine.h.
◆ dist_eval_type
typedef EngineTrait<Derived>::dist_eval_type TiledArray::expressions::LeafEngine< Derived >::dist_eval_type |
This expression's distributed evaluator type.
Definition at line 57 of file leaf_engine.h.
◆ ExprEngine_
typedef ExprEngine<Derived> TiledArray::expressions::LeafEngine< Derived >::ExprEngine_ |
Base class type.
Definition at line 43 of file leaf_engine.h.
◆ LeafEngine_
typedef LeafEngine<Derived> TiledArray::expressions::LeafEngine< Derived >::LeafEngine_ |
This class type.
Definition at line 42 of file leaf_engine.h.
◆ op_type
typedef EngineTrait<Derived>::op_type TiledArray::expressions::LeafEngine< Derived >::op_type |
Tile operation type.
Definition at line 53 of file leaf_engine.h.
◆ pmap_interface
typedef EngineTrait<Derived>::pmap_interface TiledArray::expressions::LeafEngine< Derived >::pmap_interface |
Process map interface type.
Definition at line 66 of file leaf_engine.h.
◆ policy
typedef EngineTrait<Derived>::policy TiledArray::expressions::LeafEngine< Derived >::policy |
The result policy type.
Definition at line 55 of file leaf_engine.h.
◆ shape_type
typedef EngineTrait<Derived>::shape_type TiledArray::expressions::LeafEngine< Derived >::shape_type |
Tensor shape type.
Definition at line 64 of file leaf_engine.h.
◆ size_type
typedef EngineTrait<Derived>::size_type TiledArray::expressions::LeafEngine< Derived >::size_type |
Size type.
Definition at line 60 of file leaf_engine.h.
◆ trange_type
typedef EngineTrait<Derived>::trange_type TiledArray::expressions::LeafEngine< Derived >::trange_type |
Tiled range type type.
Definition at line 62 of file leaf_engine.h.
◆ value_type
typedef EngineTrait<Derived>::value_type TiledArray::expressions::LeafEngine< Derived >::value_type |
Tensor value type.
Definition at line 51 of file leaf_engine.h.
Constructor & Destructor Documentation
◆ LeafEngine()
|
inline |
Engine constructor.
- Parameters
-
expr The argument expression
Definition at line 88 of file leaf_engine.h.
Member Function Documentation
◆ derived() [1/2]
|
inline |
Cast this object to its derived type.
Definition at line 209 of file expr_engine.h.
◆ derived() [2/2]
|
inline |
Cast this object to its derived type.
Definition at line 212 of file expr_engine.h.
◆ init_distribution()
|
inline |
◆ init_indices() [1/2]
|
inline |
Initialize the index list of this expression.
This function is a noop since the index list is fixed.
Definition at line 127 of file leaf_engine.h.
◆ init_indices() [2/2]
|
inline |
Initialize the index list of this expression.
This function only checks for valid index lists.
- Parameters
-
target_indices The target index list for this expression
Definition at line 105 of file leaf_engine.h.
◆ make_dist_eval()
|
inline |
Construct the distributed evaluator for array.
Create the pimpl for the distributed evaluator
Definition at line 161 of file leaf_engine.h.
◆ make_shape() [1/2]
|
inline |
Non-permuting shape factory function.
- Returns
- The result shape
Definition at line 150 of file leaf_engine.h.
◆ make_shape() [2/2]
|
inline |
Permuting shape factory function.
- Parameters
-
perm The permutation to be applied to the array
- Returns
- The result shape
Definition at line 156 of file leaf_engine.h.
◆ make_trange() [1/2]
|
inline |
Non-permuting tiled range factory function.
- Returns
- The result tiled range
Definition at line 137 of file leaf_engine.h.
◆ make_trange() [2/2]
|
inline |
Permuting tiled range factory function.
- Parameters
-
perm The permutation to be applied to the array
- Returns
- The result shape
Definition at line 143 of file leaf_engine.h.
◆ perm_indices()
|
inline |
Set the index list for this expression.
This function is a noop since the index list is fixed.
Definition at line 99 of file leaf_engine.h.
Member Data Documentation
◆ array_
|
protected |
The array object.
Definition at line 81 of file leaf_engine.h.
◆ consumable
|
staticconstexpr |
Definition at line 68 of file leaf_engine.h.
◆ indices_
|
protected |
The index list of this expression; bipartite due to need to support recursive tensors (i.e. Tensor-of-Tensor)
Definition at line 75 of file expr_engine.h.
◆ leaves
|
staticconstexpr |
Definition at line 69 of file leaf_engine.h.
◆ perm_
|
protected |
The permutation that will be applied to the outer tensor of tensors.
Definition at line 80 of file expr_engine.h.
◆ permute_tiles_
|
protected |
Result tile permutation flag (true
== permute tile)
Definition at line 77 of file expr_engine.h.
◆ pmap_
|
protected |
The process map for the result tensor.
Definition at line 84 of file expr_engine.h.
◆ shape_
|
protected |
The shape of the result tensor.
Definition at line 82 of file expr_engine.h.
◆ trange_
|
protected |
The tiled range of the result tensor.
Definition at line 81 of file expr_engine.h.
◆ world_
|
protected |
The world where this expression will be evaluated.
Definition at line 73 of file expr_engine.h.
The documentation for this class was generated from the following file:
- TiledArray/expressions/leaf_engine.h