|
TiledArray
0.7.0
|
#include <binary_engine.h>


Public Types | |
| typedef BinaryEngine< Derived > | BinaryEngine_ |
| This class type. More... | |
| typedef ExprEngine< Derived > | ExprEngine_ |
| Base class type. More... | |
| typedef EngineTrait< Derived >::left_type | left_type |
| The left-hand expression type. More... | |
| typedef EngineTrait< Derived >::right_type | right_type |
| The right-hand expression type. More... | |
| typedef EngineTrait< Derived >::value_type | value_type |
| The result tile type. More... | |
| typedef EngineTrait< Derived >::op_type | op_type |
| The tile operation type. More... | |
| typedef EngineTrait< Derived >::policy | policy |
| The result policy type. More... | |
| typedef EngineTrait< Derived >::dist_eval_type | dist_eval_type |
| The distributed evaluator type. More... | |
| typedef EngineTrait< Derived >::size_type | size_type |
| Size type. More... | |
| typedef EngineTrait< Derived >::trange_type | trange_type |
| Tiled range type. More... | |
| typedef EngineTrait< Derived >::shape_type | shape_type |
| 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 > | |
| BinaryEngine (const BinaryExpr< D > &expr) | |
| void | perm_vars (const VariableList &target_vars) |
| 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_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... | |
| 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... | |
| dist_eval_type | make_dist_eval () const |
| Construct the distributed evaluator for this expression. More... | |
| void | print (ExprOStream os, const VariableList &target_vars) const |
| Expression print. 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 | |
| left_type | left_ |
| The left-hand argument. More... | |
| right_type | right_ |
| The right-hand argument. 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... | |
Definition at line 37 of file binary_engine.h.
| typedef BinaryEngine<Derived> TiledArray::expressions::BinaryEngine< Derived >::BinaryEngine_ |
This class type.
Definition at line 43 of file binary_engine.h.
| typedef EngineTrait<Derived>::dist_eval_type TiledArray::expressions::BinaryEngine< Derived >::dist_eval_type |
The distributed evaluator type.
Definition at line 54 of file binary_engine.h.
| typedef ExprEngine<Derived> TiledArray::expressions::BinaryEngine< Derived >::ExprEngine_ |
Base class type.
Definition at line 44 of file binary_engine.h.
| typedef EngineTrait<Derived>::left_type TiledArray::expressions::BinaryEngine< Derived >::left_type |
The left-hand expression type.
Definition at line 47 of file binary_engine.h.
| typedef EngineTrait<Derived>::op_type TiledArray::expressions::BinaryEngine< Derived >::op_type |
The tile operation type.
Definition at line 52 of file binary_engine.h.
| typedef EngineTrait<Derived>::pmap_interface TiledArray::expressions::BinaryEngine< Derived >::pmap_interface |
Process map interface type.
Definition at line 60 of file binary_engine.h.
| typedef EngineTrait<Derived>::policy TiledArray::expressions::BinaryEngine< Derived >::policy |
The result policy type.
Definition at line 53 of file binary_engine.h.
| typedef EngineTrait<Derived>::right_type TiledArray::expressions::BinaryEngine< Derived >::right_type |
The right-hand expression type.
Definition at line 48 of file binary_engine.h.
| typedef EngineTrait<Derived>::shape_type TiledArray::expressions::BinaryEngine< Derived >::shape_type |
Shape type.
Definition at line 59 of file binary_engine.h.
| typedef EngineTrait<Derived>::size_type TiledArray::expressions::BinaryEngine< Derived >::size_type |
Size type.
Definition at line 57 of file binary_engine.h.
| typedef EngineTrait<Derived>::trange_type TiledArray::expressions::BinaryEngine< Derived >::trange_type |
Tiled range type.
Definition at line 58 of file binary_engine.h.
| typedef EngineTrait<Derived>::value_type TiledArray::expressions::BinaryEngine< Derived >::value_type |
The result tile type.
Definition at line 51 of file binary_engine.h.
|
inline |
Definition at line 83 of file binary_engine.h.
|
inline |
Initialize result tensor distribution.
This function will initialize the world and process map for the result tensor.
| world | The world were the result will be distributed |
| pmap | The process map for the result tensor tiles |
Definition at line 178 of file binary_engine.h.

|
inline |
Initialize result tensor structure.
This function will initialize the permutation, tiled range, and shape for the left-hand, right-hand, and result tensor.
| target_vars | The target variable list for the result tensor |
Definition at line 152 of file binary_engine.h.

|
inline |
Initialize the variable list of this expression.
| target_vars | The target variable list for this expression |
Definition at line 127 of file binary_engine.h.
|
inline |
Initialize the variable list of this expression.
Definition at line 135 of file binary_engine.h.
|
inline |
Construct the distributed evaluator for this expression.
Definition at line 202 of file binary_engine.h.

|
inline |
Non-permuting tiled range factory function.
Definition at line 189 of file binary_engine.h.

|
inline |
Permuting tiled range factory function.
| perm | The permutation to be applied to the tiled range |
Definition at line 195 of file binary_engine.h.
|
inline |
Set the variable list for this expression.
This function will set the variable list for this expression and its children such that the number of permutations is minimized. The final variable list may not be set to target, which indicates that the result of this expression will be permuted to match target_vars.
| target_vars | The target variable list for this expression |
Definition at line 94 of file binary_engine.h.

|
inline |
Expression print.
| os | The output stream |
| target_vars | The target variable list for this expression |
Definition at line 222 of file binary_engine.h.

|
static |
Definition at line 63 of file binary_engine.h.
|
static |
Definition at line 64 of file binary_engine.h.
|
protected |
The left-hand argument.
Definition at line 77 of file binary_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 right-hand argument.
Definition at line 78 of file binary_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.