14 #include <type_traits>
19 #if defined(ALPAKA_CI)
20 # if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) && BOOST_LANG_CUDA \
21 || defined(ALPAKA_ACC_GPU_HIP_ENABLED) && BOOST_LANG_HIP
22 # define ALPAKA_CUDA_CI
31 #if defined(ALPAKA_ACC_CPU_B_SEQ_T_SEQ_ENABLED)
32 template<
typename TDim,
typename TIdx>
35 template<
typename TDim,
typename TIdx>
38 #if defined(ALPAKA_ACC_CPU_B_SEQ_T_THREADS_ENABLED) && !defined(ALPAKA_CUDA_CI)
39 template<
typename TDim,
typename TIdx>
42 template<
typename TDim,
typename TIdx>
45 #if defined(ALPAKA_ACC_CPU_B_TBB_T_SEQ_ENABLED)
46 template<
typename TDim,
typename TIdx>
49 template<
typename TDim,
typename TIdx>
52 #if defined(ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLED)
53 template<
typename TDim,
typename TIdx>
56 template<
typename TDim,
typename TIdx>
59 #if defined(ALPAKA_ACC_CPU_B_SEQ_T_OMP2_ENABLED) && !defined(ALPAKA_CUDA_CI)
60 template<
typename TDim,
typename TIdx>
63 template<
typename TDim,
typename TIdx>
66 #if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) && (BOOST_LANG_CUDA || defined(ALPAKA_HOST_ONLY))
67 template<
typename TDim,
typename TIdx>
70 template<
typename TDim,
typename TIdx>
73 #if defined(ALPAKA_ACC_GPU_HIP_ENABLED) && (BOOST_LANG_HIP || defined(ALPAKA_HOST_ONLY))
74 template<
typename TDim,
typename TIdx>
76 typename std::conditional<std::is_same_v<TDim, DimInt<3u>> ==
false, AccGpuHipRt<TDim, TIdx>,
int>::type;
78 template<
typename TDim,
typename TIdx>
81 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_TARGET_CPU)
82 template<
typename TDim,
typename TIdx>
85 template<
typename TDim,
typename TIdx>
88 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_TARGET_FPGA)
89 template<
typename TDim,
typename TIdx>
92 template<
typename TDim,
typename TIdx>
95 #if defined(ALPAKA_ACC_SYCL_ENABLED) && defined(ALPAKA_SYCL_TARGET_GPU)
96 template<
typename TDim,
typename TIdx>
99 template<
typename TDim,
typename TIdx>
104 template<
typename TDim,
typename TIdx>
119 template<
typename TDim,
typename TIdx>
127 template<
typename TAcc>
130 os << getAccName<TAcc>();
137 template<
typename TDim,
typename TIdx>
140 os <<
"Accelerators enabled: ";
160 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