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_transposed | iff 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 |
PacketType | determines the type of packet |
OutType | determines 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_access | determines the size of each element based on OutType |
is_coalesced_layout | determines 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_stride | determines the stride of non-contracting dimension to access the next adjustment element within the Tensor Block for each workgroup |
c_stride | determines the stride of contracting dimension to access the next adjustment element within the Tensor Block for each workgroup |
Definition at line 318 of file TensorContractionSycl.h.