|
TiledArray
0.7.0
|
Distributed contraction evaluator implementation. More...
#include <contraction_eval.h>


Public Types | |
| typedef Summa< Left, Right, Op, Policy > | Summa_ |
| This object type. More... | |
| typedef DistEvalImpl< typename Op::result_type, Policy > | DistEvalImpl_ |
| The base class type. More... | |
| typedef DistEvalImpl_::TensorImpl_ | TensorImpl_ |
| The base, base class type. More... | |
| typedef Left | left_type |
| The left-hand argument type. More... | |
| typedef Right | right_type |
| The right-hand argument type. More... | |
| typedef DistEvalImpl_::size_type | size_type |
| Size type. More... | |
| typedef DistEvalImpl_::range_type | range_type |
| Range type. More... | |
| typedef DistEvalImpl_::shape_type | shape_type |
| Shape type. More... | |
| typedef DistEvalImpl_::pmap_interface | pmap_interface |
| Process map interface type. More... | |
| typedef DistEvalImpl_::trange_type | trange_type |
| Tiled range type. More... | |
| typedef DistEvalImpl_::value_type | value_type |
| Tile type. More... | |
| typedef DistEvalImpl_::eval_type | eval_type |
| Tile evaluation type. More... | |
| typedef Op | op_type |
| Tile evaluation operator type. More... | |
Public Types inherited from TiledArray::detail::DistEvalImpl< Op::result_type, Policy > | |
| typedef DistEvalImpl< Op::result_type, Policy > | DistEvalImpl_ |
| This object type. More... | |
| typedef TiledArray::detail::TensorImpl< Policy > | TensorImpl_ |
| Tensor implementation base class. More... | |
| typedef TensorImpl_::size_type | size_type |
| Size type. More... | |
| typedef TensorImpl_::trange_type | trange_type |
| Tiled range type for this object. More... | |
| typedef TensorImpl_::range_type | range_type |
| Range type this tensor. More... | |
| typedef TensorImpl_::shape_type | shape_type |
| Shape type. More... | |
| typedef TensorImpl_::pmap_interface | pmap_interface |
| process map interface type More... | |
| typedef Op::result_type | value_type |
| Tile type. More... | |
| typedef eval_trait< value_type >::type | eval_type |
| Tile evaluation type. More... | |
Public Types inherited from TiledArray::detail::TensorImpl< Policy > | |
| typedef TensorImpl< Policy > | TensorImpl_ |
| typedef Policy | policy_type |
| Policy type. More... | |
| typedef Policy::trange_type | trange_type |
| Tiled range type. More... | |
| typedef Policy::range_type | range_type |
| Element/tile range type. More... | |
| typedef Policy::size_type | size_type |
| Size type. More... | |
| typedef Policy::shape_type | shape_type |
| Tensor shape type. More... | |
| typedef Policy::pmap_interface | pmap_interface |
| Process map interface type. More... | |
Public Member Functions | |
| Summa (const left_type &left, const right_type &right, World &world, const trange_type trange, const shape_type &shape, const std::shared_ptr< pmap_interface > &pmap, const Permutation &perm, const op_type &op, const size_type k, const ProcGrid &proc_grid) | |
| Constructor. More... | |
| virtual | ~Summa () |
| virtual Future< value_type > | get_tile (size_type i) const |
Get tile at index i. More... | |
| virtual void | discard_tile (size_type i) const |
| Discard a tile that is not needed. More... | |
Public Member Functions inherited from TiledArray::detail::DistEvalImpl< Op::result_type, Policy > | |
| DistEvalImpl (World &world, const trange_type &trange, const shape_type &shape, const std::shared_ptr< pmap_interface > &pmap, const Permutation &perm) | |
| Constructor. More... | |
| virtual | ~DistEvalImpl () |
| const madness::uniqueidT & | id () const |
| Unique object id accessor. More... | |
| void | set_tile (size_type i, const value_type &value) |
| Set tensor value. More... | |
| void | set_tile (size_type i, Future< value_type > f) |
| Set tensor value with a future. More... | |
| virtual void | notify () |
| Tile set notification. More... | |
| void | wait () const |
| Wait for all tiles to be assigned. More... | |
| void | eval () |
| Evaluate this tensor expression object. More... | |
Public Member Functions inherited from TiledArray::detail::TensorImpl< Policy > | |
| TensorImpl (World &world, const trange_type &trange, const shape_type &shape, const std::shared_ptr< pmap_interface > &pmap) | |
| Constructor. More... | |
| virtual | ~TensorImpl () |
| Virtual destructor. More... | |
| const std::shared_ptr< pmap_interface > & | pmap () const |
| Tensor process map accessor. More... | |
| const range_type & | tiles_range () const |
| Tiles range accessor. More... | |
| size_type | size () const |
| Tensor tile volume accessor. More... | |
| size_type | local_size () const |
| Local element count. More... | |
| template<typename Index > | |
| ProcessID | owner (const Index &i) const |
| Query a tile owner. More... | |
| template<typename Index > | |
| bool | is_local (const Index &i) const |
| Query for a locally owned tile. More... | |
| template<typename Index > | |
| bool | is_zero (const Index &i) const |
| Query for a zero tile. More... | |
| bool | is_dense () const |
| Query the density of the tensor. More... | |
| const shape_type & | shape () const |
| Tensor shape accessor. More... | |
| const trange_type & | trange () const |
| Tiled range accessor. More... | |
| DEPRECATED World & | get_world () const |
| World & | world () const |
| World accessor. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from TiledArray::detail::DistEvalImpl< Op::result_type, Policy > | |
| size_type | perm_index_to_target (size_type index) const |
Permute index from a source index to a target index. More... | |
| size_type | perm_index_to_source (size_type index) const |
Permute index from a target index to a source index. More... | |
Distributed contraction evaluator implementation.
| Left | The left-hand argument evaluator type |
| Right | The right-hand argument evaluator type |
| Op | The contraction/reduction operation type |
| Policy | The tensor policy class |
ProcGrid object passed to the constructor. Definition at line 53 of file contraction_eval.h.
| typedef DistEvalImpl<typename Op::result_type, Policy> TiledArray::detail::Summa< Left, Right, Op, Policy >::DistEvalImpl_ |
The base class type.
Definition at line 59 of file contraction_eval.h.
| typedef DistEvalImpl_::eval_type TiledArray::detail::Summa< Left, Right, Op, Policy >::eval_type |
Tile evaluation type.
Definition at line 69 of file contraction_eval.h.
| typedef Left TiledArray::detail::Summa< Left, Right, Op, Policy >::left_type |
The left-hand argument type.
Definition at line 61 of file contraction_eval.h.
| typedef Op TiledArray::detail::Summa< Left, Right, Op, Policy >::op_type |
Tile evaluation operator type.
Definition at line 70 of file contraction_eval.h.
| typedef DistEvalImpl_::pmap_interface TiledArray::detail::Summa< Left, Right, Op, Policy >::pmap_interface |
Process map interface type.
Definition at line 66 of file contraction_eval.h.
| typedef DistEvalImpl_::range_type TiledArray::detail::Summa< Left, Right, Op, Policy >::range_type |
Range type.
Definition at line 64 of file contraction_eval.h.
| typedef Right TiledArray::detail::Summa< Left, Right, Op, Policy >::right_type |
The right-hand argument type.
Definition at line 62 of file contraction_eval.h.
| typedef DistEvalImpl_::shape_type TiledArray::detail::Summa< Left, Right, Op, Policy >::shape_type |
Shape type.
Definition at line 65 of file contraction_eval.h.
| typedef DistEvalImpl_::size_type TiledArray::detail::Summa< Left, Right, Op, Policy >::size_type |
Size type.
Definition at line 63 of file contraction_eval.h.
| typedef Summa<Left, Right, Op, Policy> TiledArray::detail::Summa< Left, Right, Op, Policy >::Summa_ |
This object type.
Definition at line 58 of file contraction_eval.h.
| typedef DistEvalImpl_::TensorImpl_ TiledArray::detail::Summa< Left, Right, Op, Policy >::TensorImpl_ |
The base, base class type.
Definition at line 60 of file contraction_eval.h.
| typedef DistEvalImpl_::trange_type TiledArray::detail::Summa< Left, Right, Op, Policy >::trange_type |
Tiled range type.
Definition at line 67 of file contraction_eval.h.
| typedef DistEvalImpl_::value_type TiledArray::detail::Summa< Left, Right, Op, Policy >::value_type |
Tile type.
Definition at line 68 of file contraction_eval.h.
|
inline |
Constructor.
| left | The left-hand argument evaluator |
| right | The right-hand argument evaluator |
| world | The world where the result lives |
| trange | The tiled range object for the result |
| shape | The tensor shape object for the result |
| pmap | The tile-process map for the result |
| perm | The permutation that is applied to result tile indices |
| op | The tile transform operation |
| k | The number of tiles in the inner dimension |
| proc_grid | The process grid that defines the layout of the tiles during the contraction evaluation |
Definition at line 1483 of file contraction_eval.h.
|
inlinevirtual |
Definition at line 1500 of file contraction_eval.h.
|
inlinevirtual |
Discard a tile that is not needed.
This function handles the cleanup for tiles that are not needed in subsequent computation.
| i | The index of the tile |
Implements TiledArray::detail::DistEvalImpl< Op::result_type, Policy >.
Definition at line 1533 of file contraction_eval.h.
|
inlinevirtual |
Get tile at index i.
| i | The index of the tile |
Future to the tile at index i | TiledArray::Exception | When tile i is owned by a remote node. |
| TiledArray::Exception | When tile i a zero tile. |
Implements TiledArray::detail::DistEvalImpl< Op::result_type, Policy >.
Definition at line 1508 of file contraction_eval.h.
