13 #include <type_traits>
18 #if defined(ALPAKA_CI)
19 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) && BOOST_LANG_CUDA \
20 || defined(ALPAKA_ACC_GPU_HIP_ENABLED) && BOOST_LANG_HIP
21 # define ALPAKA_CUDA_CI
30 #if defined(ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED)
31 template<
typename TDim,
typename TIdx>
34 template<
typename TDim,
typename TIdx>
37 #if defined(ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLED) && !defined(ALPAKA_CUDA_CI)
38 template<
typename TDim,
typename TIdx>
41 template<
typename TDim,
typename TIdx>
44 #if defined(ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLED)
45 template<
typename TDim,
typename TIdx>
48 template<
typename TDim,
typename TIdx>
51 #if defined(ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLED)
52 template<
typename TDim,
typename TIdx>
55 template<
typename TDim,
typename TIdx>
58 #if defined(ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLED) && !defined(ALPAKA_CUDA_CI)
59 template<
typename TDim,
typename TIdx>
62 template<
typename TDim,
typename TIdx>
65 #if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) && (BOOST_LANG_CUDA || defined(ALPAKA_HOST_ONLY))
66 template<
typename TDim,
typename TIdx>
69 template<
typename TDim,
typename TIdx>
72 #if defined(ALPAKA_ACC_GPU_HIP_ENABLED) && (BOOST_LANG_HIP || defined(ALPAKA_HOST_ONLY))
73 template<
typename TDim,
typename TIdx>
75 typename std::conditional<std::is_same_v<TDim, DimInt<3u>> ==
false, AccGpuHipRt<TDim, TIdx>,
int>::type;
77 template<
typename TDim,
typename TIdx>
80 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_TARGET_CPU)
81 template<
typename TDim,
typename TIdx>
84 template<
typename TDim,
typename TIdx>
87 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_TARGET_FPGA)
88 template<
typename TDim,
typename TIdx>
91 template<
typename TDim,
typename TIdx>
94 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_TARGET_GPU)
95 template<
typename TDim,
typename TIdx>
98 template<
typename TDim,
typename TIdx>
103 template<
typename TDim,
typename TIdx>
118 template<
typename TDim,
typename TIdx>
126 template<
typename TAcc>
129 os << getAccName<TAcc>();
136 template<
typename TDim,
typename TIdx>
139 os <<
"Accelerators enabled: ";
159 template<
typename TList>
The CPU OpenMP 2.0 block accelerator.
The CPU OpenMP 2.0 thread accelerator.
The CPU serial accelerator.
The CPU threads accelerator.
std::tuple< AccCpuSerialIfAvailableElseInt< TDim, TIdx >, AccCpuThreadsIfAvailableElseInt< TDim, TIdx >, AccCpuTbbIfAvailableElseInt< TDim, TIdx >, AccCpuOmp2BlocksIfAvailableElseInt< TDim, TIdx >, AccCpuOmp2ThreadsIfAvailableElseInt< TDim, TIdx >, AccGpuCudaRtIfAvailableElseInt< TDim, TIdx >, AccGpuHipRtIfAvailableElseInt< TDim, TIdx >, AccCpuSyclIfAvailableElseInt< TDim, TIdx >, AccFpgaSyclIntelIfAvailableElseInt< TDim, TIdx >, AccGpuSyclIntelIfAvailableElseInt< TDim, TIdx > > EnabledAccsElseInt
A vector containing all available accelerators and int's.
int AccFpgaSyclIntelIfAvailableElseInt
meta::Apply< TList, EnabledAccs > ApplyEnabledAccs
int AccGpuHipRtIfAvailableElseInt
int AccGpuCudaRtIfAvailableElseInt
int AccCpuTbbIfAvailableElseInt
meta::CartesianProduct< std::tuple, NonZeroTestDims, TestIdxs > TestDimIdxTuples
A std::tuple holding multiple std::tuple consisting of a dimension and a idx type.
int AccCpuSyclIfAvailableElseInt
meta::Transform< TestDimIdxTuples, ApplyEnabledAccs > InstantiatedEnabledAccs
A std::tuple containing std::tuple with fully instantiated accelerators.
int AccGpuSyclIntelIfAvailableElseInt
typename meta::Filter< detail::EnabledAccsElseInt< TDim, TIdx >, std::is_class > EnabledAccs
A vector containing all available accelerators.
meta::Apply< detail::InstantiatedEnabledAccs, meta::Concatenate > TestAccs
A std::tuple containing fully instantiated accelerators.
ALPAKA_FN_HOST auto writeEnabledAccs(std::ostream &os) -> void
Writes the enabled accelerators to the given stream.
The accelerator name write wrapper.
ALPAKA_FN_HOST auto operator()(std::ostream &os) -> void