#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 Dimensions & | dimensions () 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, NumOutputDims > | m_outputStrides |
array< Index, NumPreservedStrides > | m_preservedStrides |
array< bool, NumInputDims > | m_reduced |
array< Index, NumReducedDims > | m_reducedDims |
array< Index, NumReducedDims > | m_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 |
Definition at line 382 of file TensorReduction.h.
typedef ArgType Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::ChildType |
Definition at line 386 of file TensorReduction.h.
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.
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.
typedef XprType::Index Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::Index |
Definition at line 385 of file TensorReduction.h.
typedef TensorEvaluator<ArgType, Device>::Dimensions Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::InputDimensions |
Definition at line 387 of file TensorReduction.h.
typedef PacketType<CoeffReturnType, Device>::type Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::PacketReturnType |
Definition at line 396 of file TensorReduction.h.
typedef XprType::Scalar Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::Scalar |
Definition at line 392 of file TensorReduction.h.
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.
typedef TensorReductionOp<Op, Dims, ArgType, MakePointer_> Eigen::TensorEvaluator< const TensorReductionOp< Op, Dims, ArgType, MakePointer_ >, Device >::XprType |
Definition at line 384 of file TensorReduction.h.
anonymous enum |
Enumerator | |
---|---|
IsAligned | |
PacketAccess | |
Layout | |
CoordAccess | |
RawAccess |
Definition at line 399 of file TensorReduction.h.
|
inline |
Definition at line 411 of file TensorReduction.h.
|
inline |
Definition at line 583 of file TensorReduction.h.
|
inline |
Definition at line 591 of file TensorReduction.h.
|
inline |
Definition at line 654 of file TensorReduction.h.
|
inline |
Definition at line 665 of file TensorReduction.h.
|
inline |
added for sycl in order to construct the buffer from the sycl device
Definition at line 669 of file TensorReduction.h.
|
inline |
Definition at line 480 of file TensorReduction.h.
|
inline |
Definition at line 482 of file TensorReduction.h.
|
inlineprivate |
Definition at line 698 of file TensorReduction.h.
|
inline |
required by sycl in order to extract the accessor
Definition at line 667 of file TensorReduction.h.
|
inline |
Definition at line 611 of file TensorReduction.h.
|
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.
|
friend |
Definition at line 678 of file TensorReduction.h.
|
friend |
Definition at line 675 of file TensorReduction.h.
|
friend |
Definition at line 677 of file TensorReduction.h.
|
friend |
Definition at line 676 of file TensorReduction.h.
|
friend |
Definition at line 694 of file TensorReduction.h.
|
static |
Definition at line 394 of file TensorReduction.h.
|
private |
Definition at line 775 of file TensorReduction.h.
|
private |
Definition at line 741 of file TensorReduction.h.
|
private |
Definition at line 757 of file TensorReduction.h.
|
private |
Definition at line 743 of file TensorReduction.h.
|
private |
Definition at line 747 of file TensorReduction.h.
|
private |
Definition at line 739 of file TensorReduction.h.
|
private |
Definition at line 754 of file TensorReduction.h.
|
private |
Definition at line 751 of file TensorReduction.h.
|
private |
Definition at line 760 of file TensorReduction.h.
|
private |
Definition at line 773 of file TensorReduction.h.
|
private |
Definition at line 776 of file TensorReduction.h.
|
static |
Definition at line 388 of file TensorReduction.h.
|
static |
Definition at line 390 of file TensorReduction.h.
|
staticprivate |
Definition at line 746 of file TensorReduction.h.
|
static |
Definition at line 389 of file TensorReduction.h.
|
static |
Definition at line 397 of file TensorReduction.h.
|
static |
Definition at line 408 of file TensorReduction.h.
|
static |
Definition at line 407 of file TensorReduction.h.
|
static |
Definition at line 409 of file TensorReduction.h.
|
staticprivate |
Definition at line 770 of file TensorReduction.h.
|
staticprivate |
Definition at line 771 of file TensorReduction.h.