alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::AccCpuThreads< TDim, TIdx > Class Template Referencefinal

The CPU threads accelerator. More...

#include <AccCpuThreads.hpp>

+ Inheritance diagram for alpaka::AccCpuThreads< TDim, TIdx >:

Public Member Functions

 AccCpuThreads (AccCpuThreads &&)=delete
 
 AccCpuThreads (AccCpuThreads const &)=delete
 
auto operator= (AccCpuThreads &&) -> AccCpuThreads &=delete
 
auto operator= (AccCpuThreads const &) -> AccCpuThreads &=delete
 
- Public Member Functions inherited from alpaka::WorkDivMembers< TDim, TIdx >
ALPAKA_FN_HOST_ACC WorkDivMembers ()=delete
 
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (alpaka::Vec< TDim, TIdx > const &gridBlockExtent, alpaka::Vec< TDim, TIdx > const &blockThreadExtent, alpaka::Vec< TDim, TIdx > const &elemExtent)
 Accepts single specific type and is called without explicit template parameters. More...
 
template<typename TGridBlockExtent , typename TBlockThreadExtent , typename TThreadElemExtent >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (TGridBlockExtent const &gridBlockExtent=TGridBlockExtent(), TBlockThreadExtent const &blockThreadExtent=TBlockThreadExtent(), TThreadElemExtent const &threadElemExtent=TThreadElemExtent())
 Accepts different alpaka vector types and takes the last TDim number of items. More...
 
template<typename TWorkDiv >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (TWorkDiv const &other)
 
 WorkDivMembers (WorkDivMembers &&)=default
 
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC WorkDivMembers (WorkDivMembers const &other)
 
template<typename TWorkDiv >
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto operator= (TWorkDiv const &other) -> WorkDivMembers< TDim, TIdx > &
 
auto operator= (WorkDivMembers &&) -> WorkDivMembers &=default
 
auto operator= (WorkDivMembers const &) -> WorkDivMembers &=default
 
- Public Member Functions inherited from alpaka::gb::IdxGbRef< TDim, TIdx >
 IdxGbRef (Vec< TDim, TIdx > const &gridBlockIdx)
 
- Public Member Functions inherited from alpaka::bt::IdxBtRefThreadIdMap< TDim, TIdx >
ALPAKA_FN_HOST IdxBtRefThreadIdMap (IdxBtRefThreadIdMap const &)=delete
 
ALPAKA_FN_HOST IdxBtRefThreadIdMap (ThreadIdToIdxMap const &mThreadToIndices)
 
ALPAKA_FN_HOST auto operator= (IdxBtRefThreadIdMap const &) -> IdxBtRefThreadIdMap &=delete
 
- Public Member Functions inherited from alpaka::BlockSharedMemDynMember< TStaticAllocKiB >
 BlockSharedMemDynMember (std::size_t sizeBytes)
 
auto dynMemBegin () const -> uint8_t *
 
auto staticMemBegin () const -> uint8_t *
 
auto staticMemCapacity () const -> std::uint32_t
 
- Public Member Functions inherited from alpaka::BlockSharedMemStMemberMasterSync< TDataAlignBytes >
 BlockSharedMemStMemberMasterSync (uint8_t *mem, std::size_t capacity, std::function< void()> fnSync, std::function< bool()> fnIsMasterThread)
 
- Public Member Functions inherited from alpaka::detail::BlockSharedMemStMemberImpl< core::vectorization::defaultAlignment >
 BlockSharedMemStMemberImpl (std::uint8_t *mem, std::size_t capacity)
 
void alloc (std::uint32_t id) const
 
auto getLatestVarPtr () const -> T *
 Get last allocated variable. More...
 
auto getVarPtr (std::uint32_t id) const -> T *
 Give the pointer to an exiting variable. More...
 
- Public Member Functions inherited from alpaka::BlockSyncBarrierThread< TIdx >
ALPAKA_FN_HOST BlockSyncBarrierThread (TIdx const &blockThreadCount)
 

Friends

template<typename TDim2 , typename TIdx2 , typename TKernelFnObj , typename... TArgs>
class ::alpaka::TaskKernelCpuThreads
 

Additional Inherited Members

- Public Types inherited from alpaka::bt::IdxBtRefThreadIdMap< TDim, TIdx >
using ThreadIdToIdxMap = std::map< std::thread::id, Vec< TDim, TIdx > >
 
- Public Types inherited from alpaka::BlockSyncBarrierThread< TIdx >
using Barrier = core::threads::BarrierThread< TIdx >
 
using BarrierWithPredicate = core::threads::BarrierThreadWithPredicate< TIdx >
 
- Static Public Member Functions inherited from alpaka::BlockSharedMemDynMember< TStaticAllocKiB >
static constexpr auto staticAllocBytes () -> std::uint32_t
 
- Public Attributes inherited from alpaka::WorkDivMembers< TDim, TIdx >
Vec< TDim, TIdx > m_blockThreadExtent
 
Vec< TDim, TIdx > m_gridBlockExtent
 
Vec< TDim, TIdx > m_threadElemExtent
 
- Public Attributes inherited from alpaka::gb::IdxGbRef< TDim, TIdx >
Vec< TDim, TIdx > const & m_gridBlockIdx
 
- Public Attributes inherited from alpaka::bt::IdxBtRefThreadIdMap< TDim, TIdx >
ThreadIdToIdxMap const & m_threadToIndexMap
 The mapping of thread id's to thread indices. More...
 
- Public Attributes inherited from alpaka::BlockSharedMemStMemberMasterSync< TDataAlignBytes >
std::function< bool()> m_isMasterThreadFn
 
std::function< void()> m_syncFn
 
- Public Attributes inherited from alpaka::BlockSyncBarrierThread< TIdx >
Barrier m_barrier
 
BarrierWithPredicate m_barrierWithPredicate
 

Detailed Description

template<typename TDim, typename TIdx>
class alpaka::AccCpuThreads< TDim, TIdx >

The CPU threads accelerator.

This accelerator allows parallel kernel execution on a CPU device. It uses std::thread to implement the parallelism.

Definition at line 54 of file AccCpuThreads.hpp.

Constructor & Destructor Documentation

◆ AccCpuThreads() [1/2]

template<typename TDim , typename TIdx >
alpaka::AccCpuThreads< TDim, TIdx >::AccCpuThreads ( AccCpuThreads< TDim, TIdx > const &  )
delete

◆ AccCpuThreads() [2/2]

template<typename TDim , typename TIdx >
alpaka::AccCpuThreads< TDim, TIdx >::AccCpuThreads ( AccCpuThreads< TDim, TIdx > &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

template<typename TDim , typename TIdx >
auto alpaka::AccCpuThreads< TDim, TIdx >::operator= ( AccCpuThreads< TDim, TIdx > &&  ) -> AccCpuThreads &=delete
delete

◆ operator=() [2/2]

template<typename TDim , typename TIdx >
auto alpaka::AccCpuThreads< TDim, TIdx >::operator= ( AccCpuThreads< TDim, TIdx > const &  ) -> AccCpuThreads &=delete
delete

Friends And Related Function Documentation

◆ ::alpaka::TaskKernelCpuThreads

template<typename TDim , typename TIdx >
template<typename TDim2 , typename TIdx2 , typename TKernelFnObj , typename... TArgs>
friend class ::alpaka::TaskKernelCpuThreads
friend

Definition at line 83 of file AccCpuThreads.hpp.


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