alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::BlockSharedMemDynMember< TStaticAllocKiB > Class Template Reference

Dynamic block shared memory provider using fixed-size member array to allocate memory on the stack or in shared memory. More...

#include <BlockSharedMemDynMember.hpp>

+ Inheritance diagram for alpaka::BlockSharedMemDynMember< TStaticAllocKiB >:

Public Member Functions

 BlockSharedMemDynMember (std::size_t sizeBytes)
 
auto dynMemBegin () const -> uint8_t *
 
auto staticMemBegin () const -> uint8_t *
 
auto staticMemCapacity () const -> std::uint32_t
 

Static Public Member Functions

static constexpr auto staticAllocBytes () -> std::uint32_t
 

Detailed Description

template<std::size_t TStaticAllocKiB = BlockSharedDynMemberAllocKiB>
class alpaka::BlockSharedMemDynMember< TStaticAllocKiB >

Dynamic block shared memory provider using fixed-size member array to allocate memory on the stack or in shared memory.

Definition at line 39 of file BlockSharedMemDynMember.hpp.

Constructor & Destructor Documentation

◆ BlockSharedMemDynMember()

template<std::size_t TStaticAllocKiB = BlockSharedDynMemberAllocKiB>
alpaka::BlockSharedMemDynMember< TStaticAllocKiB >::BlockSharedMemDynMember ( std::size_t  sizeBytes)
inline

Definition at line 43 of file BlockSharedMemDynMember.hpp.

Member Function Documentation

◆ dynMemBegin()

template<std::size_t TStaticAllocKiB = BlockSharedDynMemberAllocKiB>
auto alpaka::BlockSharedMemDynMember< TStaticAllocKiB >::dynMemBegin ( ) const -> uint8_t*
inline

Definition at line 48 of file BlockSharedMemDynMember.hpp.

◆ staticAllocBytes()

template<std::size_t TStaticAllocKiB = BlockSharedDynMemberAllocKiB>
static constexpr auto alpaka::BlockSharedMemDynMember< TStaticAllocKiB >::staticAllocBytes ( ) -> std::uint32_t
inlinestaticconstexpr
Returns
size of statically allocated memory available for both dynamic and static shared memory. Value is of a 32-bit type for register efficiency on GPUs

Definition at line 71 of file BlockSharedMemDynMember.hpp.

◆ staticMemBegin()

template<std::size_t TStaticAllocKiB = BlockSharedDynMemberAllocKiB>
auto alpaka::BlockSharedMemDynMember< TStaticAllocKiB >::staticMemBegin ( ) const -> uint8_t*
inline
Returns
the pointer to the begin of data after the portion allocated as dynamical shared memory.

Definition at line 55 of file BlockSharedMemDynMember.hpp.

◆ staticMemCapacity()

template<std::size_t TStaticAllocKiB = BlockSharedDynMemberAllocKiB>
auto alpaka::BlockSharedMemDynMember< TStaticAllocKiB >::staticMemCapacity ( ) const -> std::uint32_t
inline
Returns
the remaining capacity for static block shared memory, returns a 32-bit type for register efficiency on GPUs

Definition at line 63 of file BlockSharedMemDynMember.hpp.


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