30 template<
typename TAcc,
typename TExtent,
typename TPitch>
33 std::uint8_t
const val,
36 TPitch pitch)
const ->
void
42 auto idx = mapIdxPitchBytes<1u, Dim<TAcc>::value>(idxThreadFirstElem, pitch)[0];
44 auto const lastIdx = idx
46 threadElemExtent[lastDim],
47 static_cast<Idx>(extent[lastDim] - idxThreadFirstElem[lastDim]));
49 if((idxThreadFirstElem < extent).foldrAll(std::logical_and<bool>()))
51 for(; idx < lastIdx; ++idx)
any device ND memory set kernel.
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_ACC auto operator()(TAcc const &acc, std::uint8_t const val, std::uint8_t *dst, TExtent extent, TPitch pitch) const -> void
The kernel entry point.
#define ALPAKA_FN_ACC
All functions that can be used on an accelerator have to be attributed with ALPAKA_FN_ACC or ALPAKA_F...
#define ALPAKA_NO_HOST_ACC_WARNING
Disable nvcc warning: 'calling a host function from host device function.' Usage: ALPAKA_NO_HOST_ACC_...
The alpaka accelerator library.
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getWorkDiv(TWorkDiv const &workDiv) -> Vec< Dim< TWorkDiv >, Idx< TWorkDiv > >
Get the extent requested.
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getIdx(TIdx const &idx, TWorkDiv const &workDiv) -> Vec< Dim< TWorkDiv >, Idx< TIdx > >
Get the indices requested.
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getIdxThreadFirstElem(TIdxWorkDiv const &idxWorkDiv, TGridThreadIdx const &gridThreadIdx, TThreadElemExtent const &threadElemExtent) -> Vec< Dim< TIdxWorkDiv >, Idx< TIdxWorkDiv > >
Get the index of the first element this thread computes.
typename trait::IdxType< T >::type Idx
typename trait::DimType< T >::type Dim
The dimension type trait alias template to remove the ::type.