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 |
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.
StorageIndex | determines the StorageIndex Type |
linearLocalThreadId | determines the linearized location of a thread within a work-group |
kGroupId | determines the logical group id in a k dimension of the flattened tensor. It will be > 1 when tall/skinny algorithm is used |
mGroupOffset | determines the logical start position of all thread within a workgroup for the m dimension of the flattened tensor. |
kGroupOffset | determines 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. |
mLocalOffset | determines 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. |
nLocalOffset | determines 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. |
mGlobalOffset | determines the logical start position of each thread a thread for the m dimension on a flattened tensor |
nGlobalOffset | determines 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 387 of file TensorContractionSycl.h.
|
inline |
Definition at line 400 of file TensorContractionSycl.h.
const bool Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::is_internal |
Definition at line 398 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::kGroupId |
Definition at line 389 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::kGroupOffset |
Definition at line 392 of file TensorContractionSycl.h.
StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::kSize |
Definition at line 397 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::linearLocalThreadId |
Definition at line 388 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::mGlobalOffset |
Definition at line 395 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::mGroupOffset |
Definition at line 390 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::mLocalOffset |
Definition at line 393 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::nGlobalOffset |
Definition at line 396 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::nGroupOffset |
Definition at line 391 of file TensorContractionSycl.h.
const StorageIndex Eigen::TensorSycl::internal::ThreadProperties< StorageIndex >::nLocalOffset |
Definition at line 394 of file TensorContractionSycl.h.