TiledArray::expressions::BlkTsrEngine< Array, Result, Alias > Class Template Reference

Documentation

template<typename Array, typename Result, bool Alias>
class TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >

Tensor expression engine.

Template Parameters
ArrayThe array type
ResultThe result tile type
AliasIndicates the array tiles should be computed as a temporary before assignment

Definition at line 304 of file blk_tsr_engine.h.

Public Types

typedef BlkTsrEngine< Array, Result, Alias > BlkTsrEngine_
 This class type. More...
 
typedef BlkTsrEngineBase< BlkTsrEngine_BlkTsrEngineBase_
 Block tensor base class type. More...
 
typedef BlkTsrEngineBase_::LeafEngine_ LeafEngine_
 Leaf base class type. More...
 
typedef LeafEngine_::ExprEngine_ ExprEngine_
 Expression engine base class. More...
 
typedef EngineTrait< BlkTsrEngine_ >::array_type array_type
 The input array type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::value_type value_type
 Tensor value type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::op_base_type op_base_type
 Tile base operation type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::op_type op_type
 Tile operation type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::policy policy
 The result policy type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::dist_eval_type dist_eval_type
 This expression's distributed evaluator type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::size_type size_type
 Size type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::trange_type trange_type
 Tiled range type type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::shape_type shape_type
 Tensor shape type. More...
 
typedef EngineTrait< BlkTsrEngine_ >::pmap_interface pmap_interface
 Process map interface type. More...
 

Public Member Functions

template<typename A >
 BlkTsrEngine (const BlkTsrExpr< A, Alias > &expr)
 
shape_type make_shape ()
 Non-permuting shape factory function. More...
 
shape_type make_shape (const Permutation &perm)
 Permuting shape factory function. More...
 
op_type make_tile_op () const
 Non-permuting tile operation factory function. More...
 
template<typename Perm , typename = std::enable_if_t< TiledArray::detail::is_permutation_v<Perm>>>
op_type make_tile_op (const Perm &perm) const
 Permuting tile operation factory function. More...
 
std::string 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...
 

Member Typedef Documentation

◆ array_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::array_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::array_type

The input array type.

Definition at line 319 of file blk_tsr_engine.h.

◆ BlkTsrEngine_

template<typename Array , typename Result , bool Alias>
typedef BlkTsrEngine<Array, Result, Alias> TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::BlkTsrEngine_

This class type.

Definition at line 309 of file blk_tsr_engine.h.

◆ BlkTsrEngineBase_

template<typename Array , typename Result , bool Alias>
typedef BlkTsrEngineBase<BlkTsrEngine_> TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::BlkTsrEngineBase_

Block tensor base class type.

Definition at line 311 of file blk_tsr_engine.h.

◆ dist_eval_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::dist_eval_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::dist_eval_type

This expression's distributed evaluator type.

Definition at line 331 of file blk_tsr_engine.h.

◆ ExprEngine_

template<typename Array , typename Result , bool Alias>
typedef LeafEngine_::ExprEngine_ TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::ExprEngine_

Expression engine base class.

Definition at line 315 of file blk_tsr_engine.h.

◆ LeafEngine_

template<typename Array , typename Result , bool Alias>
typedef BlkTsrEngineBase_::LeafEngine_ TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::LeafEngine_

Leaf base class type.

Definition at line 313 of file blk_tsr_engine.h.

◆ op_base_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::op_base_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::op_base_type

Tile base operation type.

Definition at line 325 of file blk_tsr_engine.h.

◆ op_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::op_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::op_type

Tile operation type.

Definition at line 327 of file blk_tsr_engine.h.

◆ pmap_interface

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::pmap_interface TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::pmap_interface

Process map interface type.

Definition at line 341 of file blk_tsr_engine.h.

◆ policy

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::policy TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::policy

The result policy type.

Definition at line 329 of file blk_tsr_engine.h.

◆ shape_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::shape_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::shape_type

Tensor shape type.

Definition at line 339 of file blk_tsr_engine.h.

◆ size_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::size_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::size_type

Size type.

Definition at line 335 of file blk_tsr_engine.h.

◆ trange_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::trange_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::trange_type

Tiled range type type.

Definition at line 337 of file blk_tsr_engine.h.

◆ value_type

template<typename Array , typename Result , bool Alias>
typedef EngineTrait<BlkTsrEngine_>::value_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::value_type

Tensor value type.

Definition at line 323 of file blk_tsr_engine.h.

Constructor & Destructor Documentation

◆ BlkTsrEngine()

template<typename Array , typename Result , bool Alias>
template<typename A >
TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::BlkTsrEngine ( const BlkTsrExpr< A, Alias > &  expr)
inline

Definition at line 358 of file blk_tsr_engine.h.

Member Function Documentation

◆ make_shape() [1/2]

template<typename Array , typename Result , bool Alias>
shape_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::make_shape ( )
inline

Non-permuting shape factory function.

Returns
The result shape

Definition at line 363 of file blk_tsr_engine.h.

◆ make_shape() [2/2]

template<typename Array , typename Result , bool Alias>
shape_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::make_shape ( const Permutation perm)
inline

Permuting shape factory function.

Parameters
permThe permutation to be applied to the array
Returns
The result shape

Definition at line 371 of file blk_tsr_engine.h.

◆ make_tag()

template<typename Array , typename Result , bool Alias>
std::string TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::make_tag ( ) const
inline

Expression identification tag.

Returns
An expression tag used to identify this expression

Definition at line 431 of file blk_tsr_engine.h.

Here is the call graph for this function:

◆ make_tile_op() [1/2]

template<typename Array , typename Result , bool Alias>
op_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::make_tile_op ( ) const
inline

Non-permuting tile operation factory function.

Returns
The tile operation

Definition at line 378 of file blk_tsr_engine.h.

Here is the call graph for this function:

◆ make_tile_op() [2/2]

template<typename Array , typename Result , bool Alias>
template<typename Perm , typename = std::enable_if_t< TiledArray::detail::is_permutation_v<Perm>>>
op_type TiledArray::expressions::BlkTsrEngine< Array, Result, Alias >::make_tile_op ( const Perm &  perm) const
inline

Permuting tile operation factory function.

Parameters
permThe permutation to be applied to tiles
Returns
The tile operation

Definition at line 405 of file blk_tsr_engine.h.

Here is the call graph for this function:

Member Data Documentation

◆ array_

template<typename Array , typename Result , bool Alias>
array_type TiledArray::expressions::LeafEngine< Derived >::array_
protected

The array object.

Definition at line 81 of file leaf_engine.h.

◆ indices_

template<typename Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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 Array , typename Result , bool Alias>
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: