alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional > Struct Template Reference

#include <WorkerGroup.hpp>

Public Member Functions

constexpr WorkerGroup (T_ThreadIdxOrOrigin threadIdxOrOrigin, T_NumThreadsOrUnit numThreadsOrUnit, T_MultiDimensional=MultiDimensional< true >{})
 WorkerGroup constructor.
constexpr auto idx (auto const &acc) const
constexpr auto size (auto const &acc) const

Private Member Functions

constexpr auto getThreadSpace (auto const &acc) const
 get the thread configuration
constexpr auto getThreadSpace (auto const &acc) const
 get the thread configuration

Private Attributes

T_NumThreadsOrUnit m_numThreadsOrUnit
T_ThreadIdxOrOrigin m_threadIdxOrOrigin

Friends

template<typename T_ThreadGroup, typename T_ThreadIdxOrOriginRange>
struct DomainSpec

Detailed Description

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
struct alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >

Definition at line 27 of file WorkerGroup.hpp.

Constructor & Destructor Documentation

◆ WorkerGroup()

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >::WorkerGroup ( T_ThreadIdxOrOrigin threadIdxOrOrigin,
T_NumThreadsOrUnit numThreadsOrUnit,
T_MultiDimensional = MultiDimensional<true>{} )
inlineconstexpr

WorkerGroup constructor.

Parameters
threadIdxOrOriginthe index of the thread or onAcc::origin
numThreadsOrUnitthe number of threads or the onAcc::unit
multiDimensionalkeep the dimensionality for both input parameters, if 'linearized' is used the workgroup will be reduced to a one dimensional group.

Definition at line 36 of file WorkerGroup.hpp.

Member Function Documentation

◆ getThreadSpace() [1/2]

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
auto alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >::getThreadSpace ( auto const & acc) const
inlineconstexprprivate

get the thread configuration

Implementation specialization for lazy evaluated acc properties based on an origin and unit.

Definition at line 78 of file WorkerGroup.hpp.

◆ getThreadSpace() [2/2]

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
auto alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >::getThreadSpace ( auto const & acc) const
inlineconstexprprivate

get the thread configuration

Implementation specialization for vectors.

Definition at line 63 of file WorkerGroup.hpp.

◆ idx()

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
auto alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >::idx ( auto const & acc) const
inlineconstexpr

Definition at line 50 of file WorkerGroup.hpp.

◆ size()

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
auto alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >::size ( auto const & acc) const
inlineconstexpr

Definition at line 45 of file WorkerGroup.hpp.

◆ DomainSpec

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
template<typename T_ThreadGroup, typename T_ThreadIdxOrOriginRange>
friend struct DomainSpec
friend

Definition at line 57 of file WorkerGroup.hpp.

Member Data Documentation

◆ m_numThreadsOrUnit

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
T_NumThreadsOrUnit alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >::m_numThreadsOrUnit
private

Definition at line 100 of file WorkerGroup.hpp.

◆ m_threadIdxOrOrigin

template<typename T_ThreadIdxOrOrigin, typename T_NumThreadsOrUnit, typename T_MultiDimensional = MultiDimensional<true>>
T_ThreadIdxOrOrigin alpaka::onAcc::WorkerGroup< T_ThreadIdxOrOrigin, T_NumThreadsOrUnit, T_MultiDimensional >::m_threadIdxOrOrigin
private

Definition at line 99 of file WorkerGroup.hpp.


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