|
TiledArray
0.7.0
|
Leaf expression engine. More...
#include <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_vars (const VariableList &) |
| Set the variable list for this expression. More... | |
| void | init_vars (const VariableList &target_vars) |
| Initialize the variable list of this expression. More... | |
| void | init_vars () |
| Initialize the variable 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 it's derived type. More... | |
| const derived_type & | derived () const |
| Cast this object to it's 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 VariableList &target_vars) |
| Construct and initialize the expression engine. More... | |
| void | init_struct (const VariableList &target_vars) |
| Initialize result tensor structure. More... | |
| void | init_distribution (World *world, const std::shared_ptr< pmap_interface > &pmap) |
| Initialize result tensor distribution. More... | |
| Permutation | make_perm (const VariableList &target_vars) const |
| Permutation factory function. More... | |
| op_type | make_op () const |
| Tile operation factory function. More... | |
| derived_type & | derived () |
| Cast this object to it's derived type. More... | |
| const derived_type & | derived () const |
| Cast this object to it's derived type. More... | |
| World * | world () const |
| World accessor. More... | |
| const VariableList & | vars () const |
| Variable list accessor. More... | |
| const Permutation & | 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 VariableList &target_vars) 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... | |
| World * | world_ |
| The world where this expression will be evaluated. More... | |
| VariableList | vars_ |
| The variable list of this expression. More... | |
| Permutation | perm_ |
| The permutation that will be applied to the result. 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... | |
| bool | permute_tiles_ |
Result tile permutation flag (true == permute tile) More... | |
Protected Attributes inherited from TiledArray::expressions::ExprEngine< Derived > | |
| World * | world_ |
| The world where this expression will be evaluated. More... | |
| VariableList | vars_ |
| The variable list of this expression. More... | |
| bool | permute_tiles_ |
Result tile permutation flag (true == permute tile) More... | |
| Permutation | perm_ |
| The permutation that will be applied to the result. 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... | |
Leaf expression engine.
| Derived | The derived class type |
Definition at line 39 of file leaf_engine.h.
| typedef EngineTrait<Derived>::array_type TiledArray::expressions::LeafEngine< Derived >::array_type |
The left-hand expression type.
Definition at line 46 of file leaf_engine.h.
| typedef EngineTrait<Derived>::dist_eval_type TiledArray::expressions::LeafEngine< Derived >::dist_eval_type |
This expression's distributed evaluator type.
Definition at line 52 of file leaf_engine.h.
| typedef ExprEngine<Derived> TiledArray::expressions::LeafEngine< Derived >::ExprEngine_ |
Base class type.
Definition at line 43 of file leaf_engine.h.
| typedef LeafEngine<Derived> TiledArray::expressions::LeafEngine< Derived >::LeafEngine_ |
This class type.
Definition at line 42 of file leaf_engine.h.
| typedef EngineTrait<Derived>::op_type TiledArray::expressions::LeafEngine< Derived >::op_type |
Tile operation type.
Definition at line 50 of file leaf_engine.h.
| typedef EngineTrait<Derived>::pmap_interface TiledArray::expressions::LeafEngine< Derived >::pmap_interface |
Process map interface type.
Definition at line 58 of file leaf_engine.h.
| typedef EngineTrait<Derived>::policy TiledArray::expressions::LeafEngine< Derived >::policy |
The result policy type.
Definition at line 51 of file leaf_engine.h.
| typedef EngineTrait<Derived>::shape_type TiledArray::expressions::LeafEngine< Derived >::shape_type |
Tensor shape type.
Definition at line 57 of file leaf_engine.h.
| typedef EngineTrait<Derived>::size_type TiledArray::expressions::LeafEngine< Derived >::size_type |
Size type.
Definition at line 55 of file leaf_engine.h.
| typedef EngineTrait<Derived>::trange_type TiledArray::expressions::LeafEngine< Derived >::trange_type |
Tiled range type type.
Definition at line 56 of file leaf_engine.h.
| typedef EngineTrait<Derived>::value_type TiledArray::expressions::LeafEngine< Derived >::value_type |
Tensor value type.
Definition at line 49 of file leaf_engine.h.
|
inline |
Engine constructor.
| expr | The argument expression |
Definition at line 82 of file leaf_engine.h.
|
inline |
Cast this object to it's derived type.
Definition at line 186 of file expr_engine.h.
|
inline |
Cast this object to it's derived type.
Definition at line 189 of file expr_engine.h.
|
inline |
Definition at line 122 of file leaf_engine.h.
|
inline |
Initialize the variable list of this expression.
This function only checks for valid variable lists.
| target_vars | The target variable list for this expression |
Definition at line 101 of file leaf_engine.h.
|
inline |
Initialize the variable list of this expression.
This function is a noop since the variable list is fixed.
Definition at line 120 of file leaf_engine.h.
|
inline |
Construct the distributed evaluator for array.
Create the pimpl for the distributed evaluator
Definition at line 156 of file leaf_engine.h.
|
inline |
Non-permuting shape factory function.
Definition at line 145 of file leaf_engine.h.
|
inline |
Permuting shape factory function.
| perm | The permutation to be applied to the array |
Definition at line 152 of file leaf_engine.h.
|
inline |
Non-permuting tiled range factory function.
Definition at line 132 of file leaf_engine.h.
|
inline |
Permuting tiled range factory function.
| perm | The permutation to be applied to the array |
Definition at line 138 of file leaf_engine.h.
|
inline |
Set the variable list for this expression.
This function is a noop since the variable list is fixed.
Definition at line 95 of file leaf_engine.h.
|
protected |
The array object.
Definition at line 74 of file leaf_engine.h.
|
static |
Definition at line 60 of file leaf_engine.h.
|
static |
Definition at line 61 of file leaf_engine.h.
|
protected |
The permutation that will be applied to the result.
Definition at line 66 of file expr_engine.h.
|
protected |
Result tile permutation flag (true == permute tile)
Definition at line 65 of file expr_engine.h.
|
protected |
The process map for the result tensor.
Definition at line 69 of file expr_engine.h.
|
protected |
The shape of the result tensor.
Definition at line 68 of file expr_engine.h.
|
protected |
The tiled range of the result tensor.
Definition at line 67 of file expr_engine.h.
|
protected |
The variable list of this expression.
Definition at line 64 of file expr_engine.h.
|
protected |
The world where this expression will be evaluated.
Definition at line 63 of file expr_engine.h.