15 template<
typename TDev,
typename TSfinae =
void>
22 #if(ALPAKA_DEBUG >= ALPAKA_DEBUG_FULL)
29 #if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) || defined(ALPAKA_ACC_GPU_HIP_ENABLED)
32 template<
typename TApi>
35 # if(ALPAKA_DEBUG >= ALPAKA_DEBUG_FULL)
43 #ifdef ALPAKA_ACC_SYCL_ENABLED
45 template<concepts::Tag TTag>
48 # if(ALPAKA_DEBUG >= ALPAKA_DEBUG_FULL)
49 using type = QueueGenericSyclBlocking<TTag>;
51 using type = QueueGenericSyclNonBlocking<TTag>;
57 template<
typename TQueue,
typename TSfinae =
void>
61 template<
typename TDev>
64 static constexpr
bool value =
true;
68 template<
typename TDev>
71 static constexpr
bool value =
false;
74 #if defined(ALPAKA_ACC_GPU_CUDA_ENABLED) || defined(ALPAKA_ACC_GPU_HIP_ENABLED)
77 template<
typename TApi>
80 static constexpr
bool value =
true;
84 template<
typename TApi>
87 static constexpr
bool value =
false;
91 #ifdef ALPAKA_ACC_SYCL_ENABLED
92 template<concepts::Tag TTag>
95 static constexpr
auto value =
true;
98 template<concepts::Tag TTag>
101 static constexpr
auto value =
false;
107 template<
typename TDev>
111 template<
typename TQueue>
116 std::tuple<DevCpu, QueueCpuBlocking>,
117 std::tuple<DevCpu, QueueCpuNonBlocking>
118 #ifdef ALPAKA_ACC_GPU_CUDA_ENABLED
120 std::tuple<DevCudaRt, QueueCudaRtBlocking>,
121 std::tuple<DevCudaRt, QueueCudaRtNonBlocking>
123 #ifdef ALPAKA_ACC_GPU_HIP_ENABLED
125 std::tuple<DevHipRt, QueueHipRtBlocking>,
126 std::tuple<DevHipRt, QueueHipRtNonBlocking>
128 #ifdef ALPAKA_ACC_SYCL_ENABLED
129 # ifdef ALPAKA_SYCL_ONEAPI_CPU
131 std::tuple<alpaka::DevCpuSycl, alpaka::QueueCpuSyclBlocking>,
132 std::tuple<alpaka::DevCpuSycl, alpaka::QueueCpuSyclNonBlocking>
134 # ifdef ALPAKA_SYCL_ONEAPI_FPGA
136 std::tuple<alpaka::DevFpgaSyclIntel, alpaka::QueueFpgaSyclIntelBlocking>,
137 std::tuple<alpaka::DevFpgaSyclIntel, alpaka::QueueFpgaSyclIntelNonBlocking>
139 # ifdef ALPAKA_SYCL_ONEAPI_GPU
141 std::tuple<alpaka::DevGpuSyclIntel, alpaka::QueueGpuSyclIntelBlocking>,
142 std::tuple<alpaka::DevGpuSyclIntel, alpaka::QueueGpuSyclIntelNonBlocking>
std::tuple< std::tuple< DevCpu, QueueCpuBlocking >, std::tuple< DevCpu, QueueCpuNonBlocking >, std::tuple< DevCudaRt, QueueCudaRtBlocking >, std::tuple< DevCudaRt, QueueCudaRtNonBlocking > > TestQueues
A std::tuple holding tuples of devices and corresponding queue types.
typename trait::DefaultQueueType< TDev >::type DefaultQueue
The queue type that should be used for the given device.
QueueGenericThreadsBlocking< DevCpu > QueueCpuBlocking
QueueGenericThreadsNonBlocking< DevCpu > QueueCpuNonBlocking
The default queue type trait for devices.
The blocking queue trait.