Classes | Namespaces | Enumerations | Functions
TensorContractionSycl.h File Reference

Go to the source code of this file.

Classes

struct  Eigen::TensorSycl::internal::BlockProperties< is_transposed, is_rhs_, packet_load_, PacketType >
 BlockProperties is a template class that provides different characteristic of a block of each Tensor processed by each workgroup. More...
 
struct  Eigen::TensorSycl::internal::GeneralScalarContraction< OutScalar, LhsScalar, RhsScalar, OutAccessor, LhsMapper, RhsMapper, StorageIndex, Vectorizable >
 GeneralScalarContraction is a template class that provides the scalar value of Tensor -Tensor contraction operation, when all the dimensions are contracting dimensions. This Kernel reduces two tensors to an scalar. More...
 
struct  Eigen::TensorSycl::internal::GeneralVectorTensor< OutScalar, OutAccessor, VectorMapper, TensorMapper, StorageIndex, Properties, KFactor, Vectorizable, is_lhs_vec, IsFinal >
 GeneralVectorTensor is a template class that provides Tensor -vector contraction operation, which is a special case of Tensor Tensor contraction. More...
 
struct  Eigen::TensorEvaluator< const TensorContractionOp< Indices, LeftArgType, RightArgType, OutputKernelType >, Eigen::SyclDevice >::input_mapper_propertis< lhs_inner_dim_contiguous, rhs_inner_dim_contiguous, rhs_inner_dim_reordered >
 
struct  Eigen::TensorSycl::internal::TensorContractionKernel< OutScalar, LhsScalar, RhsScalar, OutAccessor, LhsMapper, RhsMapper, StorageIndex, Properties, TripleDim, Vectorizable, input_mapper_properties, IsFinal, contraction_tp >::MemHolder< contraction_type, StorageIndex >
 MemHolder this is a place holder struct for creating memory hierarchy in SYCL. Inside SYCL kernel it is not allowed to have dynamic memory allocation. While the local memory is created outside of the kernel and passed to the kernel as an accessor, the private memory can only allowed to be allocated statically. Since we are abstracting the TiledMemory for both local and private memory, the MemHolder structs is used as a helper to abstract out different type of memory needed when local/no_local memory computation is called. More...
 
struct  Eigen::TensorSycl::internal::TensorContractionKernel< OutScalar, LhsScalar, RhsScalar, OutAccessor, LhsMapper, RhsMapper, StorageIndex, Properties, TripleDim, Vectorizable, input_mapper_properties, IsFinal, contraction_tp >::MemHolder< contraction_type::no_local, MemSize >
 specialization of memHolder class when no local memory kernel is used. More...
 
class  Eigen::TensorSycl::internal::TensorContractionKernel< OutScalar, LhsScalar, RhsScalar, OutAccessor, LhsMapper, RhsMapper, StorageIndex, Properties, TripleDim, Vectorizable, input_mapper_properties, IsFinal, contraction_tp >
 TensorContractionKernel is a template class that provides Tensor -Tensor contraction operation. More...
 
struct  Eigen::TensorEvaluator< const TensorContractionOp< Indices, LeftArgType, RightArgType, OutputKernelType >, Eigen::SyclDevice >
 
struct  Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >
 ThreadProperties is a template class that provides each thread's properties within a workgroup. Please see the sycl-1.2.1 specification (https://www.khronos.org/registry/SYCL/specs/sycl-1.2.1.pdf) for the workgroup, work-items. More...
 
struct  Eigen::TensorSycl::internal::TensorContractionKernel< OutScalar, LhsScalar, RhsScalar, OutAccessor, LhsMapper, RhsMapper, StorageIndex, Properties, TripleDim, Vectorizable, input_mapper_properties, IsFinal, contraction_tp >::TiledMemory
 TiledMemory: contains required memory pointer for loading each tile of the TensorContraction panel from global memory to local/private memory when local/no_local algorithm used. More...
 
struct  Eigen::TensorEvaluator< const TensorContractionOp< Indices, LeftArgType, RightArgType, OutputKernelType >, Eigen::SyclDevice >::TripleDim
 
struct  Eigen::TensorSycl::internal::TTPanelSize< Scalar, StorageIndex, REG_SIZE_M, REG_SIZE_N, TSDK >
 TTPanelSize, a template class used for setting the panel size required for launching General Tensor Tensor contraction kernel on various hardware devices. More...
 
struct  Eigen::TensorSycl::internal::TVPanelSize< Scalar, StorageIndex, NCWindow, CFactor, NCFactor >
 TVPanelSize, a template class used for setting the panel size required for launching General TensorVector contraction kernel on various hardware devices. More...
 

Namespaces

 Eigen
 Namespace containing all symbols from the Eigen library.
 
 Eigen::TensorSycl
 
 Eigen::TensorSycl::internal
 

Enumerations

enum  Eigen::TensorSycl::internal::contraction_type { Eigen::TensorSycl::internal::contraction_type::local, Eigen::TensorSycl::internal::contraction_type::no_local }
 
enum  Eigen::TensorSycl::internal::data_source { Eigen::TensorSycl::internal::data_source::global_mem, Eigen::TensorSycl::internal::data_source::local_mem, Eigen::TensorSycl::internal::data_source::private_mem }
 

Functions

template<bool is_internal>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool Eigen::TensorSycl::internal::check_boundary (bool)
 check_boundary: is used to check the edge condition for non-internal blocks. More...
 
template<>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool Eigen::TensorSycl::internal::check_boundary< false > (bool cond)
 check_boundary: specialization of the check_boundary for non-internal blocks. More...
 
template<bool PacketLoad, bool is_coalesced_layout, bool , typename PacketType , typename TensorMapper , typename StorageIndex >
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ::Eigen::internal::enable_if< PacketLoad, PacketType >::type Eigen::TensorSycl::internal::read (const TensorMapper &tensorMapper, const StorageIndex &NCIndex, const StorageIndex &CIndex, const StorageIndex &ld)
 read, a template function used for loading the data from global memory. This function is used to guarantee coalesced and vectorized load whenever possible More...
 
template<bool PacketLoad, bool , bool IsRhs, typename PacketType , typename TensorMapper , typename StorageIndex >
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ::Eigen::internal::enable_if<!PacketLoad, PacketType >::type Eigen::TensorSycl::internal::read (const TensorMapper &tensorMapper, const StorageIndex &NCIndex, const StorageIndex &CIndex, const StorageIndex &)
 read, special overload of read function, when the read access is not vectorized More...
 
template<typename StorageIndex , StorageIndex ld, data_source dt, typename PacketType , typename DataScalar >
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE typename ::Eigen::internal::enable_if< dt !=data_source::global_mem, void >::type Eigen::TensorSycl::internal::write (PacketType &packet_data, DataScalar ptr)
 write, a template function used for storing the data to local memory. This function is used to guarantee coalesced and vectorized store whenever possible. More...
 
template<data_source dt, typename PacketType , typename DataScalar >
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ::Eigen::internal::enable_if< Eigen::internal::unpacket_traits< PacketType >::size !=1 &&dt==data_source::global_mem, void >::type Eigen::TensorSycl::internal::write (PacketType &packet_data, DataScalar *ptr)
 Overloading the write function for storing the data to global memory, when vectorization enabled This function is used to guarantee coalesced and vectorized store whenever possible. More...
 
template<data_source dt, typename PacketType , typename DataScalar >
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ::Eigen::internal::enable_if< Eigen::internal::unpacket_traits< PacketType >::size==1 &&dt==data_source::global_mem, void >::type Eigen::TensorSycl::internal::write (PacketType &packet_data, DataScalar *ptr)
 Overloading the write function for storing the data to global memory, when vectorization is disabled. More...
 


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:40:54