30 #ifndef HIPCUB_CUB_DEVICE_DEVICE_SCAN_HPP_
31 #define HIPCUB_CUB_DEVICE_DEVICE_SCAN_HPP_
33 #include "../../../config.hpp"
35 #include <cub/device/device_scan.cuh>
37 BEGIN_HIPCUB_NAMESPACE
43 typename InputIteratorT,
44 typename OutputIteratorT
46 HIPCUB_RUNTIME_FUNCTION
static
47 hipError_t InclusiveSum(
void *d_temp_storage,
48 size_t &temp_storage_bytes,
50 OutputIteratorT d_out,
52 hipStream_t stream = 0,
53 bool debug_synchronous =
false)
55 (void)debug_synchronous;
56 return hipCUDAErrorTohipError(::cub::DeviceScan::InclusiveSum(d_temp_storage,
65 typename InputIteratorT,
66 typename OutputIteratorT,
69 HIPCUB_RUNTIME_FUNCTION
static
70 hipError_t InclusiveScan(
void *d_temp_storage,
71 size_t &temp_storage_bytes,
73 OutputIteratorT d_out,
76 hipStream_t stream = 0,
77 bool debug_synchronous =
false)
79 (void)debug_synchronous;
80 return hipCUDAErrorTohipError(::cub::DeviceScan::InclusiveScan(d_temp_storage,
90 typename InputIteratorT,
91 typename OutputIteratorT
93 HIPCUB_RUNTIME_FUNCTION
static
94 hipError_t ExclusiveSum(
void *d_temp_storage,
95 size_t &temp_storage_bytes,
97 OutputIteratorT d_out,
99 hipStream_t stream = 0,
100 bool debug_synchronous =
false)
102 (void)debug_synchronous;
103 return hipCUDAErrorTohipError(::cub::DeviceScan::ExclusiveSum(d_temp_storage,
112 typename InputIteratorT,
113 typename OutputIteratorT,
117 HIPCUB_RUNTIME_FUNCTION
static
118 hipError_t ExclusiveScan(
void *d_temp_storage,
119 size_t &temp_storage_bytes,
121 OutputIteratorT d_out,
123 InitValueT init_value,
125 hipStream_t stream = 0,
126 bool debug_synchronous =
false)
128 (void)debug_synchronous;
129 return hipCUDAErrorTohipError(::cub::DeviceScan::ExclusiveScan(d_temp_storage,
140 typename InputIteratorT,
141 typename OutputIteratorT,
144 typename InitValueIterT = InitValueT*
146 HIPCUB_RUNTIME_FUNCTION
static
147 hipError_t ExclusiveScan(
void *d_temp_storage,
148 size_t &temp_storage_bytes,
150 OutputIteratorT d_out,
152 FutureValue<InitValueT, InitValueIterT> init_value,
154 hipStream_t stream = 0,
155 bool debug_synchronous =
false)
157 (void)debug_synchronous;
158 return hipCUDAErrorTohipError(::cub::DeviceScan::ExclusiveScan(d_temp_storage,
169 typename KeysInputIteratorT,
170 typename ValuesInputIteratorT,
171 typename ValuesOutputIteratorT,
174 HIPCUB_RUNTIME_FUNCTION
static
175 hipError_t ExclusiveSumByKey(
void *d_temp_storage,
176 size_t &temp_storage_bytes,
177 KeysInputIteratorT d_keys_in,
178 ValuesInputIteratorT d_values_in,
179 ValuesOutputIteratorT d_values_out,
181 EqualityOpT equality_op = EqualityOpT(),
182 hipStream_t stream = 0,
183 bool debug_synchronous =
false)
185 (void)debug_synchronous;
186 return hipCUDAErrorTohipError(::cub::DeviceScan::ExclusiveSumByKey(d_temp_storage,
197 typename KeysInputIteratorT,
198 typename ValuesInputIteratorT,
199 typename ValuesOutputIteratorT,
204 HIPCUB_RUNTIME_FUNCTION
static
205 hipError_t ExclusiveScanByKey(
void *d_temp_storage,
206 size_t &temp_storage_bytes,
207 KeysInputIteratorT d_keys_in,
208 ValuesInputIteratorT d_values_in,
209 ValuesOutputIteratorT d_values_out,
211 InitValueT init_value,
213 EqualityOpT equality_op = EqualityOpT(),
214 hipStream_t stream = 0,
215 bool debug_synchronous =
false)
217 (void)debug_synchronous;
218 return hipCUDAErrorTohipError(::cub::DeviceScan::ExclusiveScanByKey(d_temp_storage,
231 typename KeysInputIteratorT,
232 typename ValuesInputIteratorT,
233 typename ValuesOutputIteratorT,
236 HIPCUB_RUNTIME_FUNCTION
static
237 hipError_t InclusiveSumByKey(
void *d_temp_storage,
238 size_t &temp_storage_bytes,
239 KeysInputIteratorT d_keys_in,
240 ValuesInputIteratorT d_values_in,
241 ValuesOutputIteratorT d_values_out,
243 EqualityOpT equality_op = EqualityOpT(),
244 hipStream_t stream = 0,
245 bool debug_synchronous =
false)
247 (void)debug_synchronous;
248 return hipCUDAErrorTohipError(::cub::DeviceScan::InclusiveSumByKey(d_temp_storage,
259 typename KeysInputIteratorT,
260 typename ValuesInputIteratorT,
261 typename ValuesOutputIteratorT,
265 HIPCUB_RUNTIME_FUNCTION
static
266 hipError_t InclusiveScanByKey(
void *d_temp_storage,
267 size_t &temp_storage_bytes,
268 KeysInputIteratorT d_keys_in,
269 ValuesInputIteratorT d_values_in,
270 ValuesOutputIteratorT d_values_out,
273 EqualityOpT equality_op = EqualityOpT(),
274 hipStream_t stream = 0,
275 bool debug_synchronous =
false)
277 (void)debug_synchronous;
278 return hipCUDAErrorTohipError(::cub::DeviceScan::InclusiveScanByKey(d_temp_storage,
Definition: device_scan.hpp:40
Definition: thread_operators.hpp:40