alpaka
Abstraction Library for Parallel Kernel Acceleration
alpaka::trait::BlockSharedMemDynSizeBytes< TKernelFnObj, TAcc, TSfinae > Struct Template Reference

The trait for getting the size of the block shared dynamic memory of a kernel. More...

#include <Traits.hpp>

Static Public Member Functions

template<typename TDim , typename... TArgs>
ALPAKA_NO_HOST_ACC_WARNING static ALPAKA_FN_HOST_ACC auto getBlockSharedMemDynSizeBytes ([[maybe_unused]] TKernelFnObj const &kernelFnObj, [[maybe_unused]] Vec< TDim, Idx< TAcc >> const &blockThreadExtent, [[maybe_unused]] Vec< TDim, Idx< TAcc >> const &threadElemExtent, [[maybe_unused]] TArgs const &... args) -> std::size_t
 

Detailed Description

template<typename TKernelFnObj, typename TAcc, typename TSfinae = void>
struct alpaka::trait::BlockSharedMemDynSizeBytes< TKernelFnObj, TAcc, TSfinae >

The trait for getting the size of the block shared dynamic memory of a kernel.

Template Parameters
TKernelFnObjThe kernel function object.
TAccThe accelerator.

The default implementation returns 0.

Definition at line 44 of file Traits.hpp.

Member Function Documentation

◆ getBlockSharedMemDynSizeBytes()

template<typename TKernelFnObj , typename TAcc , typename TSfinae = void>
template<typename TDim , typename... TArgs>
ALPAKA_NO_HOST_ACC_WARNING static ALPAKA_FN_HOST_ACC auto alpaka::trait::BlockSharedMemDynSizeBytes< TKernelFnObj, TAcc, TSfinae >::getBlockSharedMemDynSizeBytes ( [[maybe_unused] ] TKernelFnObj const &  kernelFnObj,
[[maybe_unused] ] Vec< TDim, Idx< TAcc >> const &  blockThreadExtent,
[[maybe_unused] ] Vec< TDim, Idx< TAcc >> const &  threadElemExtent,
[[maybe_unused] ] TArgs const &...  args 
) -> std::size_t
inlinestatic
Parameters
kernelFnObjThe kernel object for which the block shared memory size should be calculated.
blockThreadExtentThe block thread extent.
threadElemExtentThe thread element extent.
Template Parameters
TArgsThe kernel invocation argument types pack.
Parameters
args,...The kernel invocation arguments.
Returns
The size of the shared memory allocated for a block in bytes. The default version always returns zero.

Definition at line 63 of file Traits.hpp.


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