Eigen-unsupported  5.0.1-dev+7c7d8473
 
Loading...
Searching...
No Matches
Eigen::TensorSycl::internal::BlockProperties< is_transposed, is_rhs_, packet_load_, PacketType > Struct Template Reference

#include <unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h>

Detailed Description

template<bool is_transposed, bool is_rhs_, bool packet_load_, typename PacketType>
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.

Template Parameters
is_transposediff true, determines whether or not the block of the Tensor is transposed
packet_load_determines if the each element of this tensor block should be loaded in a packet mode
PacketTypedetermines the type of packet
OutTypedetermines the type of each element for this block of tensor. If packet load is true, it will be packetType; Otherwise it will be scalar Type
Parameters
elements_per_accessdetermines the size of each element based on OutType
is_coalesced_layoutdetermines whether or not the Tensor data in a memory can be access coalesced and vectorized when possible. Coalesced memory access is a key factor in Kernel performance. When a tensor is 2d and the contracting dimension is 1, it is always possible to accessed tensor data coalesced and vectorized. This is the case when RHS(right hand side) Tensor is transposed or when LHS(left hand side) Tensor is not transposed.
nc_stridedetermines the stride of non-contracting dimension to access the next adjustment element within the Tensor Block for each workgroup
c_stridedetermines the stride of contracting dimension to access the next adjustment element within the Tensor Block for each workgroup

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