Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device > Struct Template Reference

#include <TensorReduction.h>

Public Types

enum  {
  IsAligned = false, PacketAccess = Self::InputPacketAccess && Op::PacketAccess, Layout = TensorEvaluator<ArgType, Device>::Layout, CoordAccess = false,
  RawAccess = false
}
 
typedef ArgType ChildType
 
typedef internal::remove_const< typename XprType::CoeffReturnType >::type CoeffReturnType
 
typedef internal::conditional< NumOutputDims==0, Sizes<>, DSizes< Index, NumOutputDims > >::type Dimensions
 
typedef XprType::Index Index
 
typedef TensorEvaluator< ArgType, Device >::Dimensions InputDimensions
 
typedef PacketType< CoeffReturnType, Device >::type PacketReturnType
 
typedef XprType::Scalar Scalar
 
typedef TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device > Self
 
typedef TensorReductionOp< Op, Dims, ArgType, MakePointer_ > XprType
 

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 TensorOpCost costPerCoeff (bool vectorized) const
 
EIGEN_DEVICE_FUNC MakePointer_< Scalar >::Type data () const
 
const Device & device () const
 added for sycl in order to construct the buffer from the sycl device More...
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensionsdimensions () const
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool evalSubExprsIfNeeded (typename MakePointer_< CoeffReturnType >::Type data)
 
const TensorEvaluator< ArgType, Device > & impl () const
 required by sycl in order to extract the accessor More...
 
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType packet (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorEvaluator (const XprType &op, const Device &device)
 
const Dims & xprDims () const
 added for sycl in order to re-construct the reduction eval on the device for the sub-kernel More...
 

Static Public Attributes

static const bool InputPacketAccess = TensorEvaluator<ArgType, Device>::PacketAccess
 
static const int NumInputDims = internal::array_size<InputDimensions>::value
 
static const int NumOutputDims = NumInputDims - NumReducedDims
 
static const int NumReducedDims = internal::array_size<Dims>::value
 
static const int PacketSize = internal::unpacket_traits<PacketReturnType>::size
 
static const bool PreservingInnerMostDims = internal::preserve_inner_most_dims<Dims, NumInputDims, Layout>::value
 
static const bool ReducingInnerMostDims = internal::are_inner_most_dims<Dims, NumInputDims, Layout>::value
 
static const bool RunningFullReduction = (NumOutputDims==0)
 

Private Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index firstInput (Index index) const
 

Private Attributes

const Device & m_device
 
Dimensions m_dimensions
 
TensorEvaluator< ArgType, Device > m_impl
 
array< Index, NumOutputDimsm_outputStrides
 
array< Index, NumPreservedStridesm_preservedStrides
 
array< bool, NumInputDimsm_reduced
 
array< Index, NumReducedDimsm_reducedDims
 
array< Index, NumReducedDimsm_reducedStrides
 
Op m_reducer
 
MakePointer_< CoeffReturnType >::Type m_result
 
const Dims & m_xpr_dims
 

Static Private Attributes

static const int NumPreservedStrides = max_n_1<NumOutputDims>::size
 
static const bool RunningOnGPU = false
 
static const bool RunningOnSycl = false
 

Friends

template<typename S , typename O , typename D , bool V>
struct internal::FullReducer
 
template<int , typename , typename >
struct internal::GenericDimReducer
 
template<int , typename , typename , bool >
struct internal::InnerMostDimPreserver
 
template<typename , typename , bool >
struct internal::InnerMostDimReducer
 
template<typename S , typename O , typename D >
struct internal::InnerReducer
 

Detailed Description

template<typename Op, typename Dims, typename ArgType, template< class > class MakePointer_, typename Device>
struct Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >

Definition at line 382 of file TensorReduction.h.

Member Typedef Documentation

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef ArgType Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::ChildType

Definition at line 386 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef internal::remove_const<typename XprType::CoeffReturnType>::type Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::CoeffReturnType

Definition at line 395 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef internal::conditional<NumOutputDims==0, Sizes<>, DSizes<Index, NumOutputDims> >::type Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::Dimensions

Definition at line 391 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef XprType::Index Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::Index

Definition at line 385 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef TensorEvaluator<ArgType, Device>::Dimensions Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::InputDimensions

Definition at line 387 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef PacketType<CoeffReturnType, Device>::type Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::PacketReturnType

Definition at line 396 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef XprType::Scalar Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::Scalar

Definition at line 392 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef TensorEvaluator<const TensorReductionOp<Op, Dims, ArgType, MakePointer_>, Device> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::Self

Definition at line 393 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
typedef TensorReductionOp<Op, Dims, ArgType, MakePointer_> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::XprType

Definition at line 384 of file TensorReduction.h.

Member Enumeration Documentation

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
anonymous enum
Enumerator
IsAligned 
PacketAccess 
Layout 
CoordAccess 
RawAccess 

Definition at line 399 of file TensorReduction.h.

Constructor & Destructor Documentation

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::TensorEvaluator ( const XprType op,
const Device &  device 
)
inline

Definition at line 411 of file TensorReduction.h.

Member Function Documentation

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::cleanup ( )
inline

Definition at line 583 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::coeff ( Index  index) const
inline

Definition at line 591 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::costPerCoeff ( bool  vectorized) const
inline

Definition at line 654 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_DEVICE_FUNC MakePointer_<Scalar>::Type Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::data ( ) const
inline

Definition at line 665 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const Device& Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::device ( ) const
inline

added for sycl in order to construct the buffer from the sycl device

Definition at line 669 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions& Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::dimensions ( ) const
inline

Definition at line 480 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::evalSubExprsIfNeeded ( typename MakePointer_< CoeffReturnType >::Type  data)
inline

Definition at line 482 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::firstInput ( Index  index) const
inlineprivate

Definition at line 698 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const TensorEvaluator<ArgType, Device>& Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::impl ( ) const
inline

required by sycl in order to extract the accessor

Definition at line 667 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::packet ( Index  index) const
inline

Definition at line 611 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const Dims& Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::xprDims ( ) const
inline

added for sycl in order to re-construct the reduction eval on the device for the sub-kernel

Definition at line 671 of file TensorReduction.h.

Friends And Related Function Documentation

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
template<typename S , typename O , typename D , bool V>
friend struct internal::FullReducer
friend

Definition at line 678 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
template<int , typename , typename >
friend struct internal::GenericDimReducer
friend

Definition at line 675 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
template<int , typename , typename , bool >
friend struct internal::InnerMostDimPreserver
friend

Definition at line 677 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
template<typename , typename , bool >
friend struct internal::InnerMostDimReducer
friend

Definition at line 676 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
template<typename S , typename O , typename D >
friend struct internal::InnerReducer
friend

Definition at line 694 of file TensorReduction.h.

Member Data Documentation

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const bool Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::InputPacketAccess = TensorEvaluator<ArgType, Device>::PacketAccess
static

Definition at line 394 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const Device& Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_device
private

Definition at line 775 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
Dimensions Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_dimensions
private

Definition at line 741 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
TensorEvaluator<ArgType, Device> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_impl
private

Definition at line 757 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
array<Index, NumOutputDims> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_outputStrides
private

Definition at line 743 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
array<Index, NumPreservedStrides> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_preservedStrides
private

Definition at line 747 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
array<bool, NumInputDims> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_reduced
private

Definition at line 739 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
array<Index, NumReducedDims> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_reducedDims
private

Definition at line 754 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
array<Index, NumReducedDims> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_reducedStrides
private

Definition at line 751 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
Op Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_reducer
private

Definition at line 760 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
MakePointer_<CoeffReturnType>::Type Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_result
private

Definition at line 773 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const Dims& Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::m_xpr_dims
private

Definition at line 776 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const int Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::NumInputDims = internal::array_size<InputDimensions>::value
static

Definition at line 388 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const int Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::NumOutputDims = NumInputDims - NumReducedDims
static

Definition at line 390 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const int Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::NumPreservedStrides = max_n_1<NumOutputDims>::size
staticprivate

Definition at line 746 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const int Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::NumReducedDims = internal::array_size<Dims>::value
static

Definition at line 389 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const int Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::PacketSize = internal::unpacket_traits<PacketReturnType>::size
static

Definition at line 397 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const bool Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::PreservingInnerMostDims = internal::preserve_inner_most_dims<Dims, NumInputDims, Layout>::value
static

Definition at line 408 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const bool Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::ReducingInnerMostDims = internal::are_inner_most_dims<Dims, NumInputDims, Layout>::value
static

Definition at line 407 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const bool Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::RunningFullReduction = (NumOutputDims==0)
static

Definition at line 409 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const bool Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::RunningOnGPU = false
staticprivate

Definition at line 770 of file TensorReduction.h.

template<typename Op , typename Dims , typename ArgType , template< class > class MakePointer_, typename Device >
const bool Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::RunningOnSycl = false
staticprivate

Definition at line 771 of file TensorReduction.h.


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


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