16 #ifdef ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLED
23 template<
typename TDim,
typename TIdx>
45 template<
typename TDim,
typename TIdx>
46 struct DimType<bt::IdxBtRefThreadIdMap<TDim, TIdx>>
52 template<
typename TDim,
typename TIdx>
53 struct GetIdx<bt::IdxBtRefThreadIdMap<TDim, TIdx>, origin::Block, unit::Threads>
56 template<
typename TWorkDiv>
61 auto const threadId = std::this_thread::get_id();
62 auto const threadEntry = idx.m_threadToIndexMap.find(threadId);
64 return threadEntry->second;
69 template<
typename TDim,
typename TIdx>
70 struct IdxType<bt::IdxBtRefThreadIdMap<TDim, TIdx>>
#define ALPAKA_ASSERT(...)
The assert can be explicit disabled by defining NDEBUG.
The threads accelerator index provider.
ALPAKA_FN_HOST IdxBtRefThreadIdMap(ThreadIdToIdxMap const &mThreadToIndices)
std::map< std::thread::id, Vec< TDim, TIdx > > ThreadIdToIdxMap
ALPAKA_FN_HOST IdxBtRefThreadIdMap(IdxBtRefThreadIdMap const &)=delete
ALPAKA_FN_HOST auto operator=(IdxBtRefThreadIdMap const &) -> IdxBtRefThreadIdMap &=delete
ThreadIdToIdxMap const & m_threadToIndexMap
The mapping of thread id's to thread indices.
ALPAKA_FN_HOST auto end(TView &view) -> Iterator< TView >
The alpaka accelerator library.
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...
The dimension getter type trait.
static ALPAKA_FN_HOST auto getIdx(bt::IdxBtRefThreadIdMap< TDim, TIdx > const &idx, TWorkDiv const &) -> Vec< TDim, TIdx >