16#if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) || defined(ALPAKA_ACC_GPU_HIP_ENABLED)
23 template<
typename TDim,
typename TIdx>
30# if !defined(ALPAKA_HOST_ONLY)
32# if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) && !BOOST_LANG_CUDA
33# error If ALPAKA_ACC_GPU_CUDA_ENABLED is set, the compiler has to support CUDA!
36# if defined(ALPAKA_ACC_GPU_HIP_ENABLED) && !BOOST_LANG_HIP
37# error If ALPAKA_ACC_GPU_HIP_ENABLED is set, the compiler has to support HIP!
43 template<
typename TDim,
typename TIdx>
44 struct DimType<gb::IdxGbUniformCudaHipBuiltIn<TDim, TIdx>>
50 template<
typename TDim,
typename TIdx>
51 struct GetIdx<gb::IdxGbUniformCudaHipBuiltIn<TDim, TIdx>, origin::Grid, unit::Blocks>
54 template<
typename TWorkDiv>
55 __device__
static auto getIdx(gb::IdxGbUniformCudaHipBuiltIn<TDim, TIdx>
const& , TWorkDiv
const&)
58# if defined(ALPAKA_ACC_GPU_CUDA_ENABLED)
59 return castVec<TIdx>(getOffsetVecEnd<TDim>(blockIdx));
61 return getOffsetVecEnd<TDim>(Vec<std::integral_constant<typename TDim::value_type, 3>, TIdx>(
62 static_cast<TIdx
>(hipBlockIdx_z),
63 static_cast<TIdx
>(hipBlockIdx_y),
64 static_cast<TIdx
>(hipBlockIdx_x)));
70 template<
typename TDim,
typename TIdx>
71 struct IdxType<gb::IdxGbUniformCudaHipBuiltIn<TDim, TIdx>>
The alpaka accelerator library.
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.
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...