15 #if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) || defined(ALPAKA_ACC_GPU_HIP_ENABLED)
20 template<
typename TDim,
typename TIdx>
36 # if !defined(ALPAKA_HOST_ONLY)
38 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) && !BOOST_LANG_CUDA
39 # error If ALPAKA_ACC_GPU_CUDA_ENABLED is set, the compiler has to support CUDA!
42 # if defined(ALPAKA_ACC_GPU_HIP_ENABLED) && !BOOST_LANG_HIP
43 # error If ALPAKA_ACC_GPU_HIP_ENABLED is set, the compiler has to support HIP!
49 template<
typename TDim,
typename TIdx>
56 template<
typename TDim,
typename TIdx>
63 template<
typename TDim,
typename TIdx>
70 # ifdef ALPAKA_ACC_GPU_CUDA_ENABLED
71 return castVec<TIdx>(getExtentVecEnd<TDim>(gridDim));
73 return getExtentVecEnd<TDim>(
Vec<std::integral_constant<typename TDim::value_type, 3>, TIdx>(
74 static_cast<TIdx
>(hipGridDim_z),
75 static_cast<TIdx
>(hipGridDim_y),
76 static_cast<TIdx
>(hipGridDim_x)));
82 template<
typename TDim,
typename TIdx>
89 # ifdef ALPAKA_ACC_GPU_CUDA_ENABLED
90 return castVec<TIdx>(getExtentVecEnd<TDim>(blockDim));
92 return getExtentVecEnd<TDim>(
Vec<std::integral_constant<typename TDim::value_type, 3>, TIdx>(
93 static_cast<TIdx
>(hipBlockDim_z),
94 static_cast<TIdx
>(hipBlockDim_y),
95 static_cast<TIdx
>(hipBlockDim_x)));
101 template<
typename TDim,
typename TIdx>
108 return workDiv.m_threadElemExtent;
#define ALPAKA_FN_HOST_ACC
The alpaka accelerator library.
Tag used in class inheritance hierarchies that describes that a specific interface (TInterface) is im...
The dimension getter type trait.