compbio
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 <TensorCostModel.h>

Public Types

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

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorEvaluator (const Derived &m, const Device &device)
 
const Derived & derived () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions & dimensions () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded (CoeffReturnType *dest)
 
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 Scalar & coeffRef (Index index)
 
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType packet (Index index) const
 
template<int StoreMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void writePacket (Index index, const PacketReturnType &x)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff (const array< DenseIndex, NumCoords > &coords) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRef (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 Device & device () const
 required by sycl in order to construct sycl buffer from raw pointer
 

Static Public Attributes

static const int NumCoords
 

Protected Attributes

internal::traits< Derived >::template MakePointer< Scalar >::Type m_data
 
Dimensions m_dims
 
const Device & m_device
 
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...)

Member Data Documentation

§ NumCoords

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

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