TR-mbed 1.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Eigen::TensorContractionEvaluatorBase< Derived > Struct Template Reference

#include <TensorContraction.h>

Inheritance diagram for Eigen::TensorContractionEvaluatorBase< Derived >:
Eigen::internal::no_assignment_operator

Public Types

enum  {
  IsAligned = true , PacketAccess = (PacketType<CoeffReturnType, Device>::size > 1) , BlockAccess = false , PreferBlockAccess = false ,
  Layout = TensorEvaluator<LeftArgType, Device>::Layout , CoordAccess = false , RawAccess = true
}
 
typedef internal::traits< Derived >::Indices Indices
 
typedef internal::traits< Derived >::LeftArgType LeftArgType
 
typedef internal::traits< Derived >::RightArgType RightArgType
 
typedef internal::traits< Derived >::OutputKernelType OutputKernelType
 
typedef internal::traits< Derived >::Device Device
 
typedef TensorContractionOp< Indices, LeftArgType, RightArgType, OutputKernelTypeXprType
 
typedef internal::remove_const< typenameXprType::Scalar >::type Scalar
 
typedef XprType::Index Index
 
typedef XprType::CoeffReturnType CoeffReturnType
 
typedef PacketType< CoeffReturnType, Device >::type PacketReturnType
 
typedef StorageMemory< Scalar, DeviceStorage
 
typedef Storage::Type EvaluatorPointerType
 
typedef internal::TensorBlockNotImplemented TensorBlock
 
typedef internal::conditional< static_cast< int >(Layout)==static_cast< int >(ColMajor), LeftArgType, RightArgType >::type EvalLeftArgType
 
typedef internal::conditional< static_cast< int >(Layout)==static_cast< int >(ColMajor), RightArgType, LeftArgType >::type EvalRightArgType
 
typedef TensorEvaluator< EvalLeftArgType, DeviceLeftEvaluatorType
 
typedef TensorEvaluator< EvalRightArgType, DeviceRightEvaluatorType
 
typedef array< Index, ContractDimscontract_t
 
typedef array< Index, LDims - ContractDimsleft_nocontract_t
 
typedef array< Index, RDims - ContractDimsright_nocontract_t
 
typedef DSizes< Index, NumDimsDimensions
 

Public Member Functions

EIGEN_STRONG_INLINE TensorContractionEvaluatorBase (const XprType &op, const Device &device)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensionsdimensions () const
 
EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded (EvaluatorPointerType data)
 
EIGEN_DEVICE_FUNC void evalTo (Scalar *buffer) const
 
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
void evalProductSequential (Scalar *buffer) const
 
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void evalGemv (Scalar *buffer) const
 
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void evalGemm (Scalar *buffer) const
 
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void evalGemmPartialWithoutOutputKernel (Scalar *buffer, Index k_start, Index k_end, int num_threads) const
 
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment, bool use_output_kernel>
EIGEN_DEVICE_FUNC void evalGemmPartial (Scalar *buffer, Index k_start, Index k_end, int num_threads) const
 
EIGEN_STRONG_INLINE void cleanup ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost costPerCoeff (bool) const
 
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType packet (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvaluatorPointerType data () const
 

Static Public Attributes

static const int LDims
 
static const int RDims
 
static const int ContractDims = internal::array_size<Indices>::value
 
static const int NumDims = LDims + RDims - 2 * ContractDims
 

Protected Attributes

Dimensions m_dimensions
 
contract_t m_k_strides
 
contract_t m_left_contracting_strides
 
contract_t m_right_contracting_strides
 
bool m_lhs_inner_dim_contiguous
 
bool m_rhs_inner_dim_contiguous
 
bool m_rhs_inner_dim_reordered
 
left_nocontract_t m_i_strides
 
right_nocontract_t m_j_strides
 
left_nocontract_t m_left_nocontract_strides
 
right_nocontract_t m_right_nocontract_strides
 
Index m_i_size
 
Index m_j_size
 
Index m_k_size
 
TensorContractionParams m_tensor_contraction_params
 
TensorEvaluator< EvalLeftArgType, Devicem_leftImpl
 
TensorEvaluator< EvalRightArgType, Devicem_rightImpl
 
const Device EIGEN_DEVICE_REF m_device
 
OutputKernelType m_output_kernel
 
EvaluatorPointerType m_result
 

Member Typedef Documentation

◆ CoeffReturnType

template<typename Derived >
typedef XprType::CoeffReturnType Eigen::TensorContractionEvaluatorBase< Derived >::CoeffReturnType

◆ contract_t

template<typename Derived >
typedef array<Index, ContractDims> Eigen::TensorContractionEvaluatorBase< Derived >::contract_t

◆ Device

template<typename Derived >
typedef internal::traits<Derived>::Device Eigen::TensorContractionEvaluatorBase< Derived >::Device

◆ Dimensions

template<typename Derived >
typedef DSizes<Index, NumDims> Eigen::TensorContractionEvaluatorBase< Derived >::Dimensions

◆ EvalLeftArgType

template<typename Derived >
typedef internal::conditional<static_cast<int>(Layout)==static_cast<int>(ColMajor),LeftArgType,RightArgType>::type Eigen::TensorContractionEvaluatorBase< Derived >::EvalLeftArgType

◆ EvalRightArgType

template<typename Derived >
typedef internal::conditional<static_cast<int>(Layout)==static_cast<int>(ColMajor),RightArgType,LeftArgType>::type Eigen::TensorContractionEvaluatorBase< Derived >::EvalRightArgType

◆ EvaluatorPointerType

template<typename Derived >
typedef Storage::Type Eigen::TensorContractionEvaluatorBase< Derived >::EvaluatorPointerType

◆ Index

template<typename Derived >
typedef XprType::Index Eigen::TensorContractionEvaluatorBase< Derived >::Index

◆ Indices

template<typename Derived >
typedef internal::traits<Derived>::Indices Eigen::TensorContractionEvaluatorBase< Derived >::Indices

◆ left_nocontract_t

template<typename Derived >
typedef array<Index, LDims - ContractDims> Eigen::TensorContractionEvaluatorBase< Derived >::left_nocontract_t

◆ LeftArgType

template<typename Derived >
typedef internal::traits<Derived>::LeftArgType Eigen::TensorContractionEvaluatorBase< Derived >::LeftArgType

◆ LeftEvaluatorType

template<typename Derived >
typedef TensorEvaluator<EvalLeftArgType, Device> Eigen::TensorContractionEvaluatorBase< Derived >::LeftEvaluatorType

◆ OutputKernelType

template<typename Derived >
typedef internal::traits<Derived>::OutputKernelType Eigen::TensorContractionEvaluatorBase< Derived >::OutputKernelType

◆ PacketReturnType

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

◆ right_nocontract_t

template<typename Derived >
typedef array<Index, RDims - ContractDims> Eigen::TensorContractionEvaluatorBase< Derived >::right_nocontract_t

◆ RightArgType

template<typename Derived >
typedef internal::traits<Derived>::RightArgType Eigen::TensorContractionEvaluatorBase< Derived >::RightArgType

◆ RightEvaluatorType

template<typename Derived >
typedef TensorEvaluator<EvalRightArgType, Device> Eigen::TensorContractionEvaluatorBase< Derived >::RightEvaluatorType

◆ Scalar

template<typename Derived >
typedef internal::remove_const<typenameXprType::Scalar>::type Eigen::TensorContractionEvaluatorBase< Derived >::Scalar

◆ Storage

template<typename Derived >
typedef StorageMemory<Scalar, Device> Eigen::TensorContractionEvaluatorBase< Derived >::Storage

◆ TensorBlock

template<typename Derived >
typedef internal::TensorBlockNotImplemented Eigen::TensorContractionEvaluatorBase< Derived >::TensorBlock

◆ XprType

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived >
anonymous enum
Enumerator
IsAligned 
PacketAccess 
BlockAccess 
PreferBlockAccess 
Layout 
CoordAccess 
RawAccess 

Constructor & Destructor Documentation

◆ TensorContractionEvaluatorBase()

template<typename Derived >
EIGEN_STRONG_INLINE Eigen::TensorContractionEvaluatorBase< Derived >::TensorContractionEvaluatorBase ( const XprType op,
const Device device 
)
inline

Member Function Documentation

◆ cleanup()

template<typename Derived >
EIGEN_STRONG_INLINE void Eigen::TensorContractionEvaluatorBase< Derived >::cleanup ( )
inline

◆ coeff()

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

◆ costPerCoeff()

template<typename Derived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost Eigen::TensorContractionEvaluatorBase< Derived >::costPerCoeff ( bool  ) const
inline

◆ data()

template<typename Derived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvaluatorPointerType Eigen::TensorContractionEvaluatorBase< Derived >::data ( ) const
inline

◆ dimensions()

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

◆ evalGemm()

template<typename Derived >
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalGemm ( Scalar buffer) const
inline

◆ evalGemmPartial()

template<typename Derived >
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment, bool use_output_kernel>
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalGemmPartial ( Scalar buffer,
Index  k_start,
Index  k_end,
int  num_threads 
) const
inline

◆ evalGemmPartialWithoutOutputKernel()

template<typename Derived >
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalGemmPartialWithoutOutputKernel ( Scalar buffer,
Index  k_start,
Index  k_end,
int  num_threads 
) const
inline

◆ evalGemv()

template<typename Derived >
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalGemv ( Scalar buffer) const
inline

◆ evalProductSequential()

template<typename Derived >
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
void Eigen::TensorContractionEvaluatorBase< Derived >::evalProductSequential ( Scalar buffer) const
inline

◆ evalSubExprsIfNeeded()

template<typename Derived >
EIGEN_STRONG_INLINE bool Eigen::TensorContractionEvaluatorBase< Derived >::evalSubExprsIfNeeded ( EvaluatorPointerType  data)
inline

◆ evalTo()

template<typename Derived >
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalTo ( Scalar buffer) const
inline

◆ packet()

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

Member Data Documentation

◆ ContractDims

template<typename Derived >
const int Eigen::TensorContractionEvaluatorBase< Derived >::ContractDims = internal::array_size<Indices>::value
static

◆ LDims

template<typename Derived >
const int Eigen::TensorContractionEvaluatorBase< Derived >::LDims
static
Initial value:
=
internal::array_size<typename TensorEvaluator<EvalLeftArgType, Device>::Dimensions>::value

◆ m_device

template<typename Derived >
const Device EIGEN_DEVICE_REF Eigen::TensorContractionEvaluatorBase< Derived >::m_device
protected

◆ m_dimensions

template<typename Derived >
Dimensions Eigen::TensorContractionEvaluatorBase< Derived >::m_dimensions
protected

◆ m_i_size

template<typename Derived >
Index Eigen::TensorContractionEvaluatorBase< Derived >::m_i_size
protected

◆ m_i_strides

template<typename Derived >
left_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_i_strides
protected

◆ m_j_size

template<typename Derived >
Index Eigen::TensorContractionEvaluatorBase< Derived >::m_j_size
protected

◆ m_j_strides

template<typename Derived >
right_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_j_strides
protected

◆ m_k_size

template<typename Derived >
Index Eigen::TensorContractionEvaluatorBase< Derived >::m_k_size
protected

◆ m_k_strides

template<typename Derived >
contract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_k_strides
protected

◆ m_left_contracting_strides

template<typename Derived >
contract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_left_contracting_strides
protected

◆ m_left_nocontract_strides

template<typename Derived >
left_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_left_nocontract_strides
protected

◆ m_leftImpl

template<typename Derived >
TensorEvaluator<EvalLeftArgType, Device> Eigen::TensorContractionEvaluatorBase< Derived >::m_leftImpl
protected

◆ m_lhs_inner_dim_contiguous

template<typename Derived >
bool Eigen::TensorContractionEvaluatorBase< Derived >::m_lhs_inner_dim_contiguous
protected

◆ m_output_kernel

template<typename Derived >
OutputKernelType Eigen::TensorContractionEvaluatorBase< Derived >::m_output_kernel
protected

◆ m_result

template<typename Derived >
EvaluatorPointerType Eigen::TensorContractionEvaluatorBase< Derived >::m_result
protected

◆ m_rhs_inner_dim_contiguous

template<typename Derived >
bool Eigen::TensorContractionEvaluatorBase< Derived >::m_rhs_inner_dim_contiguous
protected

◆ m_rhs_inner_dim_reordered

template<typename Derived >
bool Eigen::TensorContractionEvaluatorBase< Derived >::m_rhs_inner_dim_reordered
protected

◆ m_right_contracting_strides

template<typename Derived >
contract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_right_contracting_strides
protected

◆ m_right_nocontract_strides

template<typename Derived >
right_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_right_nocontract_strides
protected

◆ m_rightImpl

template<typename Derived >
TensorEvaluator<EvalRightArgType, Device> Eigen::TensorContractionEvaluatorBase< Derived >::m_rightImpl
protected

◆ m_tensor_contraction_params

template<typename Derived >
TensorContractionParams Eigen::TensorContractionEvaluatorBase< Derived >::m_tensor_contraction_params
protected

◆ NumDims

template<typename Derived >
const int Eigen::TensorContractionEvaluatorBase< Derived >::NumDims = LDims + RDims - 2 * ContractDims
static

◆ RDims

template<typename Derived >
const int Eigen::TensorContractionEvaluatorBase< Derived >::RDims
static
Initial value:
=
internal::array_size<typename TensorEvaluator<EvalRightArgType, Device>::Dimensions>::value

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