|
TiledArray
0.7.0
|
Multiplication expression engine. More...
#include <cont_engine.h>


Public Types | |
| typedef ContEngine< Derived > | ContEngine_ |
| This class type. More... | |
| typedef BinaryEngine< Derived > | BinaryEngine_ |
| Binary base class type. More... | |
| typedef ExprEngine< Derived > | ExprEngine_ |
| Expression engine 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 >::scalar_type | scalar_type |
| Tile scalar type. More... | |
| typedef TiledArray::detail::ContractReduce< value_type, typename eval_trait< typename left_type::value_type >::type, typename eval_trait< typename right_type::value_type >::type, scalar_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::BinaryEngine< Derived > | |
| 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 L , typename R > | |
| ContEngine (const MultExpr< L, R > &expr) | |
| Constructor. More... | |
| template<typename L , typename R , typename S > | |
| ContEngine (const ScalMultExpr< L, R, S > &expr) | |
| Constructor. More... | |
| void | perm_vars (const VariableList &target_vars) |
| Set the variable list for 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, std::shared_ptr< pmap_interface > pmap) |
| Initialize result tensor distribution. More... | |
| trange_type | make_trange (const Permutation &perm=Permutation()) const |
| Tiled range factory function. More... | |
| shape_type | make_shape () const |
| Non-permuting shape factory function. More... | |
| shape_type | make_shape (const Permutation &perm) const |
| Permuting shape factory function. More... | |
| dist_eval_type | make_dist_eval () const |
| std::string | make_tag () const |
| Expression identification tag. More... | |
| void | print (ExprOStream os, const VariableList &target_vars) const |
| Expression print. 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... | |
| const VariableList & | vars () const |
| Variable list accessor. More... | |
Public Member Functions inherited from TiledArray::expressions::BinaryEngine< Derived > | |
| 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... | |
Protected Attributes | |
| scalar_type | factor_ |
| Contraction scaling factor. 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... | |
| left_type | left_ |
| The left-hand argument. More... | |
| right_type | right_ |
| The right-hand argument. More... | |
Protected Attributes inherited from TiledArray::expressions::BinaryEngine< Derived > | |
| 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... | |
Additional Inherited Members | |
Static Public Attributes inherited from TiledArray::expressions::BinaryEngine< Derived > | |
| static constexpr bool | consumable = EngineTrait<Derived>::consumable |
| static constexpr unsigned int | leaves = EngineTrait<Derived>::leaves |
Multiplication expression engine.
| Derived | The derived engine type |
Definition at line 45 of file cont_engine.h.
| typedef BinaryEngine<Derived> TiledArray::expressions::ContEngine< Derived >::BinaryEngine_ |
Binary base class type.
Definition at line 49 of file cont_engine.h.
| typedef ContEngine<Derived> TiledArray::expressions::ContEngine< Derived >::ContEngine_ |
This class type.
Definition at line 48 of file cont_engine.h.
| typedef EngineTrait<Derived>::dist_eval_type TiledArray::expressions::ContEngine< Derived >::dist_eval_type |
The distributed evaluator type.
Definition at line 71 of file cont_engine.h.
| typedef ExprEngine<Derived> TiledArray::expressions::ContEngine< Derived >::ExprEngine_ |
Expression engine base class type.
Definition at line 51 of file cont_engine.h.
| typedef EngineTrait<Derived>::left_type TiledArray::expressions::ContEngine< Derived >::left_type |
The left-hand expression type.
Definition at line 55 of file cont_engine.h.
| typedef TiledArray::detail::ContractReduce<value_type, typename eval_trait<typename left_type::value_type>::type, typename eval_trait<typename right_type::value_type>::type, scalar_type> TiledArray::expressions::ContEngine< Derived >::op_type |
The tile operation type.
Definition at line 67 of file cont_engine.h.
| typedef EngineTrait<Derived>::pmap_interface TiledArray::expressions::ContEngine< Derived >::pmap_interface |
Process map interface type.
Definition at line 80 of file cont_engine.h.
| typedef EngineTrait<Derived>::policy TiledArray::expressions::ContEngine< Derived >::policy |
The result policy type.
Definition at line 69 of file cont_engine.h.
| typedef EngineTrait<Derived>::right_type TiledArray::expressions::ContEngine< Derived >::right_type |
The right-hand expression type.
Definition at line 57 of file cont_engine.h.
| typedef EngineTrait<Derived>::scalar_type TiledArray::expressions::ContEngine< Derived >::scalar_type |
Tile scalar type.
Definition at line 63 of file cont_engine.h.
| typedef EngineTrait<Derived>::shape_type TiledArray::expressions::ContEngine< Derived >::shape_type |
Shape type.
Definition at line 78 of file cont_engine.h.
| typedef EngineTrait<Derived>::size_type TiledArray::expressions::ContEngine< Derived >::size_type |
Size type.
Definition at line 74 of file cont_engine.h.
| typedef EngineTrait<Derived>::trange_type TiledArray::expressions::ContEngine< Derived >::trange_type |
Tiled range type.
Definition at line 76 of file cont_engine.h.
| typedef EngineTrait<Derived>::value_type TiledArray::expressions::ContEngine< Derived >::value_type |
The result tile type.
Definition at line 61 of file cont_engine.h.
|
inline |
Constructor.
| L | The left-hand argument expression type |
| R | The right-hand argument expression type |
| expr | The parent expression |
Definition at line 137 of file cont_engine.h.
|
inline |
Constructor.
| L | The left-hand argument expression type |
| R | The right-hand argument expression type |
| S | The expression scalar type |
| expr | The parent expression |
Definition at line 150 of file cont_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 |
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 400 of file cont_engine.h.

|
inline |
Initialize result tensor structure.
This function will initialize the permutation, tiled range, and shape for the result tensor as well as the tile operation.
| target_vars | The target variable list for the result tensor |
Definition at line 360 of file cont_engine.h.

|
inline |
Initialize the variable list of this expression.
BinaryEngine. Instead they are initialized in MultContEngine and ScalMultContEngine. Definition at line 228 of file cont_engine.h.

|
inline |
|
inline |
Non-permuting shape factory function.
Definition at line 506 of file cont_engine.h.

|
inline |
Permuting shape factory function.
| perm | The permutation to be applied to the array |
Definition at line 518 of file cont_engine.h.
|
inline |
Expression identification tag.
Definition at line 545 of file cont_engine.h.
|
inline |
Tiled range factory function.
| perm | The permutation to be applied to the array |
Definition at line 447 of file cont_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 167 of file cont_engine.h.

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

|
inline |
Variable list accessor.
Definition at line 199 of file expr_engine.h.
|
protected |
Contraction scaling factor.
Definition at line 106 of file cont_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.