Public Member Functions | Public Attributes | List of all members
Eigen::TensorSycl::internal::ThreadProperties< StorageIndex > Struct Template Reference

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...

#include <TensorContractionSycl.h>

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ThreadProperties (const StorageIndex linearLocalThreadId_, const StorageIndex kGroupId_, const StorageIndex mGroupOffset_, const StorageIndex nGroupOffset_, const StorageIndex kGroupOffset_, const StorageIndex mLocalOffset_, const StorageIndex nLocalOffset_, const StorageIndex mGlobalOffset_, const StorageIndex nGlobalOffset_, StorageIndex kSize_, const bool is_internal_)
 

Public Attributes

const bool is_internal
 
const StorageIndex kGroupId
 
const StorageIndex kGroupOffset
 
StorageIndex kSize
 
const StorageIndex linearLocalThreadId
 
const StorageIndex mGlobalOffset
 
const StorageIndex mGroupOffset
 
const StorageIndex mLocalOffset
 
const StorageIndex nGlobalOffset
 
const StorageIndex nGroupOffset
 
const StorageIndex nLocalOffset
 

Detailed Description

template<typename StorageIndex>
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.

Template Parameters
StorageIndexdetermines the StorageIndex Type
Parameters
linearLocalThreadIddetermines the linearized location of a thread within a work-group
kGroupIddetermines the logical group id in a k dimension of the flattened tensor. It will be > 1 when tall/skinny algorithm is used
mGroupOffsetdetermines the logical start position of all thread within a workgroup for the m dimension of the flattened tensor.
kGroupOffsetdetermines the logical start position of all thread within a workgroup for the k dimension of the flattened tensor. It will be > 1 when tall/skinny algorithm is used.
mLocalOffsetdetermines the logical start position of each thread within a workgroup for the m dimension of a flattened tensor. The position determines the distance of each thread within the workgroup from each other independent from their global position.
nLocalOffsetdetermines the logical start position of each thread within a workgroup for the n dimension of a flattened tensor. The position determines the distance of each thread within the workgroup from each other independent from their global position.
mGlobalOffsetdetermines the logical start position of each thread a thread for the m dimension on a flattened tensor
nGlobalOffsetdetermines the logical start position of each thread a thread for the n dimension on a flattened tensor
kSize: determine the number of the k elements of the flattened Tensor to be processed by each thread for the given tensor block. This is !=K dimension of Flattened Tensor when Tall/Skinny matrix is used.
is_internal: this will determined if the thread within the work-group computes an internal block of tensor or the edge blocks. When it is internal, there is no need to check the boundaries and all the if stantement can be resolve by compiler.

Definition at line 369 of file TensorContractionSycl.h.

Constructor & Destructor Documentation

◆ ThreadProperties()

template<typename StorageIndex>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::ThreadProperties ( const StorageIndex  linearLocalThreadId_,
const StorageIndex  kGroupId_,
const StorageIndex  mGroupOffset_,
const StorageIndex  nGroupOffset_,
const StorageIndex  kGroupOffset_,
const StorageIndex  mLocalOffset_,
const StorageIndex  nLocalOffset_,
const StorageIndex  mGlobalOffset_,
const StorageIndex  nGlobalOffset_,
StorageIndex  kSize_,
const bool  is_internal_ 
)
inline

Definition at line 382 of file TensorContractionSycl.h.

Member Data Documentation

◆ is_internal

template<typename StorageIndex>
const bool Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::is_internal

Definition at line 380 of file TensorContractionSycl.h.

◆ kGroupId

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::kGroupId

Definition at line 371 of file TensorContractionSycl.h.

◆ kGroupOffset

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::kGroupOffset

Definition at line 374 of file TensorContractionSycl.h.

◆ kSize

template<typename StorageIndex>
StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::kSize

Definition at line 379 of file TensorContractionSycl.h.

◆ linearLocalThreadId

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::linearLocalThreadId

Definition at line 370 of file TensorContractionSycl.h.

◆ mGlobalOffset

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::mGlobalOffset

Definition at line 377 of file TensorContractionSycl.h.

◆ mGroupOffset

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::mGroupOffset

Definition at line 372 of file TensorContractionSycl.h.

◆ mLocalOffset

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::mLocalOffset

Definition at line 375 of file TensorContractionSycl.h.

◆ nGlobalOffset

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::nGlobalOffset

Definition at line 378 of file TensorContractionSycl.h.

◆ nGroupOffset

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::nGroupOffset

Definition at line 373 of file TensorContractionSycl.h.

◆ nLocalOffset

template<typename StorageIndex>
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::nLocalOffset

Definition at line 376 of file TensorContractionSycl.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:46:12