TensorContractionSycl.h File Reference

Go to the source code of this file.

Classes

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::TensorEvaluator< const TensorContractionOp< Indices, LeftArgType, RightArgType, OutputKernelType >, Eigen::SyclDevice >
 
struct  Eigen::TensorEvaluator< const TensorContractionOp< Indices, LeftArgType, RightArgType, OutputKernelType >, Eigen::SyclDevice >::TripleDim
 

Namespaces

 Eigen
 : TensorContractionSycl.h, provides various tensor contraction kernel for SYCL backend
 
 Eigen::TensorSycl
 
 Eigen::TensorSycl::internal
 

Enumerations

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

Functions

template<bool is_internal>
bool Eigen::TensorSycl::internal::check_boundary (bool)
 check_boundary: is used to check the edge condition for non-internal blocks. More...
 
template<>
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 , bool IsRhs, typename PacketType , typename TensorMapper , typename StorageIndex >
static std::enable_if_t<!PacketLoad, PacketType > 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<bool PacketLoad, bool is_coalesced_layout, bool , typename PacketType , typename TensorMapper , typename StorageIndex >
static std::enable_if_t< PacketLoad, PacketType > 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<data_source dt, typename PacketType , typename DataScalar >
static std::enable_if_t< Eigen::internal::unpacket_traits< PacketType >::size !=1 &&dt==data_source::global_mem, void > 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 std::enable_if_t< Eigen::internal::unpacket_traits< PacketType >::size==1 &&dt==data_source::global_mem, void > 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...
 
template<typename StorageIndex , StorageIndex ld, data_source dt, typename PacketType , typename DataScalar >
static std::enable_if_t< dt !=data_source::global_mem, void > 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...