Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Eigen::TensorEvaluator< Derived, Device > Class Template Reference

A cost model used to limit the number of threads used for evaluating tensor expression. More...

#include <TensorEvaluator.h>

Public Types

enum  { IsAligned = Derived::IsAligned, PacketAccess = (internal::unpacket_traits<PacketReturnType>::size > 1), Layout = Derived::Layout }
 
typedef Derived::Scalar CoeffReturnType
 
typedef Derived::Dimensions Dimensions
 
typedef Derived::Index Index
 
typedef PacketType< CoeffReturnType, Device >::type PacketReturnType
 
typedef Derived::Scalar Scalar
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void cleanup ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff (const array< DenseIndex, NumCoords > &coords) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (Index index)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ScalarcoeffRef (const array< DenseIndex, NumCoords > &coords)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost costPerCoeff (bool vectorized) const
 
EIGEN_DEVICE_FUNC internal::traits< Derived >::template MakePointer< Scalar >::Type data () const
 
const Derived & derived () const
 
const Device & device () const
 required by sycl in order to construct sycl buffer from raw pointer More...
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensionsdimensions () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded (CoeffReturnType *dest)
 
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType packet (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorEvaluator (const Derived &m, const Device &device)
 
template<int StoreMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void writePacket (Index index, const PacketReturnType &x)
 

Static Public Attributes

static const int NumCoords
 

Protected Attributes

internal::traits< Derived >::template MakePointer< Scalar >::Type m_data
 
const Device & m_device
 
Dimensions m_dims
 
const Derived & m_impl
 

Detailed Description

template<typename Derived, typename Device>
class Eigen::TensorEvaluator< Derived, Device >

A cost model used to limit the number of threads used for evaluating tensor expression.

The tensor evaluator classes.

These classes are responsible for the evaluation of the tensor expression.

TODO: add support for more types of expressions, in particular expressions leading to lvalues (slicing, reshaping, etc...)

Definition at line 28 of file TensorEvaluator.h.

Member Typedef Documentation

template<typename Derived, typename Device>
typedef Derived::Scalar Eigen::TensorEvaluator< Derived, Device >::CoeffReturnType

Definition at line 32 of file TensorEvaluator.h.

template<typename Derived, typename Device>
typedef Derived::Dimensions Eigen::TensorEvaluator< Derived, Device >::Dimensions

Definition at line 34 of file TensorEvaluator.h.

template<typename Derived, typename Device>
typedef Derived::Index Eigen::TensorEvaluator< Derived, Device >::Index

Definition at line 30 of file TensorEvaluator.h.

template<typename Derived, typename Device>
typedef PacketType<CoeffReturnType, Device>::type Eigen::TensorEvaluator< Derived, Device >::PacketReturnType

Definition at line 33 of file TensorEvaluator.h.

template<typename Derived, typename Device>
typedef Derived::Scalar Eigen::TensorEvaluator< Derived, Device >::Scalar

Definition at line 31 of file TensorEvaluator.h.

Member Enumeration Documentation

template<typename Derived, typename Device>
anonymous enum
Enumerator
IsAligned 
PacketAccess 
Layout 

Definition at line 40 of file TensorEvaluator.h.

Constructor & Destructor Documentation

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::TensorEvaluator< Derived, Device >::TensorEvaluator ( const Derived &  m,
const Device &  device 
)
inline

Definition at line 48 of file TensorEvaluator.h.

Member Function Documentation

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TensorEvaluator< Derived, Device >::cleanup ( )
inline

Definition at line 64 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::TensorEvaluator< Derived, Device >::coeff ( Index  index) const
inline

Definition at line 66 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::TensorEvaluator< Derived, Device >::coeff ( const array< DenseIndex, NumCoords > &  coords) const
inline

Definition at line 88 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorEvaluator< Derived, Device >::coeffRef ( Index  index)
inline

Definition at line 71 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar& Eigen::TensorEvaluator< Derived, Device >::coeffRef ( const array< DenseIndex, NumCoords > &  coords)
inline

Definition at line 97 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost Eigen::TensorEvaluator< Derived, Device >::costPerCoeff ( bool  vectorized) const
inline

Definition at line 106 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC internal::traits<Derived>::template MakePointer<Scalar>::Type Eigen::TensorEvaluator< Derived, Device >::data ( ) const
inline

Definition at line 111 of file TensorEvaluator.h.

template<typename Derived, typename Device>
const Derived& Eigen::TensorEvaluator< Derived, Device >::derived ( ) const
inline

Definition at line 53 of file TensorEvaluator.h.

template<typename Derived, typename Device>
const Device& Eigen::TensorEvaluator< Derived, Device >::device ( ) const
inline

required by sycl in order to construct sycl buffer from raw pointer

Definition at line 114 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions& Eigen::TensorEvaluator< Derived, Device >::dimensions ( ) const
inline

Definition at line 54 of file TensorEvaluator.h.

template<typename Derived, typename Device>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool Eigen::TensorEvaluator< Derived, Device >::evalSubExprsIfNeeded ( CoeffReturnType dest)
inline

Definition at line 56 of file TensorEvaluator.h.

template<typename Derived, typename Device>
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType Eigen::TensorEvaluator< Derived, Device >::packet ( Index  index) const
inline

Definition at line 77 of file TensorEvaluator.h.

template<typename Derived, typename Device>
template<int StoreMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TensorEvaluator< Derived, Device >::writePacket ( Index  index,
const PacketReturnType x 
)
inline

Definition at line 83 of file TensorEvaluator.h.

Member Data Documentation

template<typename Derived, typename Device>
internal::traits<Derived>::template MakePointer<Scalar>::Type Eigen::TensorEvaluator< Derived, Device >::m_data
protected

Definition at line 117 of file TensorEvaluator.h.

template<typename Derived, typename Device>
const Device& Eigen::TensorEvaluator< Derived, Device >::m_device
protected

Definition at line 119 of file TensorEvaluator.h.

template<typename Derived, typename Device>
Dimensions Eigen::TensorEvaluator< Derived, Device >::m_dims
protected

Definition at line 118 of file TensorEvaluator.h.

template<typename Derived, typename Device>
const Derived& Eigen::TensorEvaluator< Derived, Device >::m_impl
protected

Definition at line 120 of file TensorEvaluator.h.

template<typename Derived, typename Device>
const int Eigen::TensorEvaluator< Derived, Device >::NumCoords
static
Initial value:
= internal::traits<Derived>::NumDimensions > 0 ?
internal::traits<Derived>::NumDimensions : 0

Definition at line 37 of file TensorEvaluator.h.


The documentation for this class was generated from the following file:


hebiros
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:10:23