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

The CPU OpenMP 2.0 block accelerator. More...

#include <AccCpuOmp2Blocks.hpp>

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

Public Member Functions

 AccCpuOmp2Blocks (AccCpuOmp2Blocks &&)=delete
 
 AccCpuOmp2Blocks (AccCpuOmp2Blocks const &)=delete
 
auto operator= (AccCpuOmp2Blocks &&) -> AccCpuOmp2Blocks &=delete
 
auto operator= (AccCpuOmp2Blocks const &) -> AccCpuOmp2Blocks &=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::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::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...
 

Friends

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

Additional Inherited Members

- 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
 

Detailed Description

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

The CPU OpenMP 2.0 block accelerator.

This accelerator allows parallel kernel execution on a CPU device. It uses OpenMP 2.0 to implement the grid block parallelism. The block idx is restricted to 1x1x1.

Definition at line 58 of file AccCpuOmp2Blocks.hpp.

Constructor & Destructor Documentation

◆ AccCpuOmp2Blocks() [1/2]

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

◆ AccCpuOmp2Blocks() [2/2]

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

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Friends And Related Function Documentation

◆ ::alpaka::TaskKernelCpuOmp2Blocks

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

Definition at line 87 of file AccCpuOmp2Blocks.hpp.


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