TiledArray::expressions::BlkTsrEngineBase< Derived > Class Template Reference
Inheritance diagram for TiledArray::expressions::BlkTsrEngineBase< Derived >:
Collaboration diagram for TiledArray::expressions::BlkTsrEngineBase< Derived >:

Documentation

template<typename Derived>
class TiledArray::expressions::BlkTsrEngineBase< Derived >

Tensor expression engine.

Template Parameters
DerivedThe derived class type

Definition at line 126 of file blk_tsr_engine.h.

Public Types

typedef BlkTsrEngineBase< Derived > BlkTsrEngineBase_
 This class type. More...
 
typedef LeafEngine< Derived > LeafEngine_
 Leaf base class type. More...
 
typedef LeafEngine_::ExprEngine_ ExprEngine_
 Expression engine base class. More...
 
typedef EngineTrait< Derived >::array_type array_type
 The input array 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::LeafEngine< Derived >
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 Array , bool Alias>
 BlkTsrEngineBase (const BlkTsrExpr< Array, Alias > &expr)
 
template<typename Array , typename Scalar >
 BlkTsrEngineBase (const ScalBlkTsrExpr< Array, Scalar > &expr)
 
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...
 
void init_distribution (World *world, const std::shared_ptr< pmap_interface > &pmap)
 
dist_eval_type make_dist_eval () const
 Construct the distributed evaluator for array. More...
 
std::string make_tag () const
 Expression identification tag. More...
 
- Public Member Functions inherited from TiledArray::expressions::LeafEngine< Derived >
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_typederived ()
 Cast this object to its derived type. More...
 
const derived_typederived () 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_typederived ()
 Cast this object to its derived type. More...
 
const derived_typederived () const
 Cast this object to its derived type. More...
 
World * world () const
 World accessor. More...
 
const BipartiteIndexListindices () const
 Index list accessor. More...
 
const BipartitePermutationperm () const
 Permutation accessor. More...
 
const trange_typetrange () const
 Tiled range accessor. More...
 
const shape_typeshape () 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...
 

Protected Attributes

container::svector< std::size_t > lower_bound_
 Lower bound of the tile block. More...
 
container::svector< std::size_t > upper_bound_
 Upper bound of the tile block. 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_interfacepmap_
 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...
 
array_type array_
 The array object. More...
 
- Protected Attributes inherited from TiledArray::expressions::LeafEngine< Derived >
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_interfacepmap_
 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_interfacepmap_
 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::LeafEngine< Derived >
static constexpr bool consumable = EngineTrait<Derived>::consumable
 
static constexpr unsigned int leaves = EngineTrait<Derived>::leaves
 

Member Typedef Documentation

◆ array_type

template<typename Derived >
typedef EngineTrait<Derived>::array_type TiledArray::expressions::BlkTsrEngineBase< Derived >::array_type

The input array type.

Definition at line 136 of file blk_tsr_engine.h.

◆ BlkTsrEngineBase_

template<typename Derived >
typedef BlkTsrEngineBase<Derived> TiledArray::expressions::BlkTsrEngineBase< Derived >::BlkTsrEngineBase_

This class type.

Definition at line 129 of file blk_tsr_engine.h.

◆ dist_eval_type

template<typename Derived >
typedef EngineTrait<Derived>::dist_eval_type TiledArray::expressions::BlkTsrEngineBase< Derived >::dist_eval_type

This expression's distributed evaluator type.

Definition at line 146 of file blk_tsr_engine.h.

◆ ExprEngine_

template<typename Derived >
typedef LeafEngine_::ExprEngine_ TiledArray::expressions::BlkTsrEngineBase< Derived >::ExprEngine_

Expression engine base class.

Definition at line 132 of file blk_tsr_engine.h.

◆ LeafEngine_

template<typename Derived >
typedef LeafEngine<Derived> TiledArray::expressions::BlkTsrEngineBase< Derived >::LeafEngine_

Leaf base class type.

Definition at line 130 of file blk_tsr_engine.h.

◆ op_type

template<typename Derived >
typedef EngineTrait<Derived>::op_type TiledArray::expressions::BlkTsrEngineBase< Derived >::op_type

Tile operation type.

Definition at line 142 of file blk_tsr_engine.h.

◆ pmap_interface

template<typename Derived >
typedef EngineTrait<Derived>::pmap_interface TiledArray::expressions::BlkTsrEngineBase< Derived >::pmap_interface

Process map interface type.

Definition at line 155 of file blk_tsr_engine.h.

◆ policy

template<typename Derived >
typedef EngineTrait<Derived>::policy TiledArray::expressions::BlkTsrEngineBase< Derived >::policy

The result policy type.

Definition at line 144 of file blk_tsr_engine.h.

◆ shape_type

template<typename Derived >
typedef EngineTrait<Derived>::shape_type TiledArray::expressions::BlkTsrEngineBase< Derived >::shape_type

Tensor shape type.

Definition at line 153 of file blk_tsr_engine.h.

◆ size_type

template<typename Derived >
typedef EngineTrait<Derived>::size_type TiledArray::expressions::BlkTsrEngineBase< Derived >::size_type

Size type.

Definition at line 149 of file blk_tsr_engine.h.

◆ trange_type

template<typename Derived >
typedef EngineTrait<Derived>::trange_type TiledArray::expressions::BlkTsrEngineBase< Derived >::trange_type

Tiled range type type.

Definition at line 151 of file blk_tsr_engine.h.

◆ value_type

template<typename Derived >
typedef EngineTrait<Derived>::value_type TiledArray::expressions::BlkTsrEngineBase< Derived >::value_type

Tensor value type.

Definition at line 140 of file blk_tsr_engine.h.

Constructor & Destructor Documentation

◆ BlkTsrEngineBase() [1/2]

template<typename Derived >
template<typename Array , bool Alias>
TiledArray::expressions::BlkTsrEngineBase< Derived >::BlkTsrEngineBase ( const BlkTsrExpr< Array, Alias > &  expr)
inline

Definition at line 175 of file blk_tsr_engine.h.

◆ BlkTsrEngineBase() [2/2]

template<typename Derived >
template<typename Array , typename Scalar >
TiledArray::expressions::BlkTsrEngineBase< Derived >::BlkTsrEngineBase ( const ScalBlkTsrExpr< Array, Scalar > &  expr)
inline

Definition at line 181 of file blk_tsr_engine.h.

Member Function Documentation

◆ init_distribution()

template<typename Derived >
void TiledArray::expressions::BlkTsrEngineBase< Derived >::init_distribution ( World *  world,
const std::shared_ptr< pmap_interface > &  pmap 
)
inline

Definition at line 260 of file blk_tsr_engine.h.

Here is the call graph for this function:

◆ make_dist_eval()

template<typename Derived >
dist_eval_type TiledArray::expressions::BlkTsrEngineBase< Derived >::make_dist_eval ( ) const
inline

Construct the distributed evaluator for array.

Create the pimpl for the distributed evaluator

Definition at line 269 of file blk_tsr_engine.h.

Here is the call graph for this function:

◆ make_tag()

template<typename Derived >
std::string TiledArray::expressions::BlkTsrEngineBase< Derived >::make_tag ( ) const
inline

Expression identification tag.

Returns
An expression tag used to identify this expression

Definition at line 285 of file blk_tsr_engine.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ make_trange() [1/2]

template<typename Derived >
trange_type TiledArray::expressions::BlkTsrEngineBase< Derived >::make_trange ( ) const
inline

Non-permuting tiled range factory function.

Returns
The result tiled range

Definition at line 189 of file blk_tsr_engine.h.

Here is the call graph for this function:

◆ make_trange() [2/2]

template<typename Derived >
trange_type TiledArray::expressions::BlkTsrEngineBase< Derived >::make_trange ( const Permutation perm) const
inline

Permuting tiled range factory function.

Returns
The result tiled range

Definition at line 224 of file blk_tsr_engine.h.

Here is the call graph for this function:

Member Data Documentation

◆ array_

template<typename Derived >
array_type TiledArray::expressions::LeafEngine< Derived >::array_
protected

The array object.

Definition at line 81 of file leaf_engine.h.

◆ indices_

template<typename Derived >
BipartiteIndexList TiledArray::expressions::ExprEngine< Derived >::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.

◆ lower_bound_

template<typename Derived >
container::svector<std::size_t> TiledArray::expressions::BlkTsrEngineBase< Derived >::lower_bound_
protected

Lower bound of the tile block.

Definition at line 169 of file blk_tsr_engine.h.

◆ perm_

template<typename Derived >
BipartitePermutation TiledArray::expressions::ExprEngine< Derived >::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_

template<typename Derived >
bool TiledArray::expressions::ExprEngine< Derived >::permute_tiles_
protected

Result tile permutation flag (true == permute tile)

Definition at line 77 of file expr_engine.h.

◆ pmap_

template<typename Derived >
std::shared_ptr<pmap_interface> TiledArray::expressions::ExprEngine< Derived >::pmap_
protected

The process map for the result tensor.

Definition at line 84 of file expr_engine.h.

◆ shape_

template<typename Derived >
shape_type TiledArray::expressions::ExprEngine< Derived >::shape_
protected

The shape of the result tensor.

Definition at line 82 of file expr_engine.h.

◆ trange_

template<typename Derived >
trange_type TiledArray::expressions::ExprEngine< Derived >::trange_
protected

The tiled range of the result tensor.

Definition at line 81 of file expr_engine.h.

◆ upper_bound_

template<typename Derived >
container::svector<std::size_t> TiledArray::expressions::BlkTsrEngineBase< Derived >::upper_bound_
protected

Upper bound of the tile block.

Definition at line 171 of file blk_tsr_engine.h.

◆ world_

template<typename Derived >
World* TiledArray::expressions::ExprEngine< Derived >::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: