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 return hipCUDAErrorTohipError(
56 ::cub::DeviceScan::InclusiveSum(
57 d_temp_storage, temp_storage_bytes,
58 d_in, d_out, num_items,
59 stream, debug_synchronous
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 return hipCUDAErrorTohipError(
80 ::cub::DeviceScan::InclusiveScan(
81 d_temp_storage, temp_storage_bytes,
82 d_in, d_out, scan_op, num_items,
83 stream, debug_synchronous
89 typename InputIteratorT,
90 typename OutputIteratorT
92 HIPCUB_RUNTIME_FUNCTION
static
93 hipError_t ExclusiveSum(
void *d_temp_storage,
94 size_t &temp_storage_bytes,
96 OutputIteratorT d_out,
98 hipStream_t stream = 0,
99 bool debug_synchronous =
false)
101 return hipCUDAErrorTohipError(
102 ::cub::DeviceScan::ExclusiveSum(
103 d_temp_storage, temp_storage_bytes,
104 d_in, d_out, num_items,
105 stream, debug_synchronous
111 typename InputIteratorT,
112 typename OutputIteratorT,
116 HIPCUB_RUNTIME_FUNCTION
static
117 hipError_t ExclusiveScan(
void *d_temp_storage,
118 size_t &temp_storage_bytes,
120 OutputIteratorT d_out,
122 InitValueT init_value,
124 hipStream_t stream = 0,
125 bool debug_synchronous =
false)
127 return hipCUDAErrorTohipError(
128 ::cub::DeviceScan::ExclusiveScan(
129 d_temp_storage, temp_storage_bytes,
130 d_in, d_out, scan_op, init_value, num_items,
131 stream, debug_synchronous
137 typename InputIteratorT,
138 typename OutputIteratorT,
141 typename InitValueIterT = InitValueT*
143 HIPCUB_RUNTIME_FUNCTION
static
144 hipError_t ExclusiveScan(
void *d_temp_storage,
145 size_t &temp_storage_bytes,
147 OutputIteratorT d_out,
149 FutureValue<InitValueT, InitValueIterT> init_value,
151 hipStream_t stream = 0,
152 bool debug_synchronous =
false)
154 return hipCUDAErrorTohipError(
155 ::cub::DeviceScan::ExclusiveScan(
156 d_temp_storage, temp_storage_bytes,
157 d_in, d_out, scan_op, init_value, num_items,
158 stream, debug_synchronous
164 typename KeysInputIteratorT,
165 typename ValuesInputIteratorT,
166 typename ValuesOutputIteratorT,
169 HIPCUB_RUNTIME_FUNCTION
static
170 hipError_t ExclusiveSumByKey(
void *d_temp_storage,
171 size_t &temp_storage_bytes,
172 KeysInputIteratorT d_keys_in,
173 ValuesInputIteratorT d_values_in,
174 ValuesOutputIteratorT d_values_out,
176 EqualityOpT equality_op = EqualityOpT(),
177 hipStream_t stream = 0,
178 bool debug_synchronous =
false)
180 return hipCUDAErrorTohipError(
181 ::cub::DeviceScan::ExclusiveSumByKey(
182 d_temp_storage, temp_storage_bytes,
183 d_keys_in, d_values_in, d_values_out, num_items,
184 equality_op, stream, debug_synchronous
190 typename KeysInputIteratorT,
191 typename ValuesInputIteratorT,
192 typename ValuesOutputIteratorT,
197 HIPCUB_RUNTIME_FUNCTION
static
198 hipError_t ExclusiveScanByKey(
void *d_temp_storage,
199 size_t &temp_storage_bytes,
200 KeysInputIteratorT d_keys_in,
201 ValuesInputIteratorT d_values_in,
202 ValuesOutputIteratorT d_values_out,
204 InitValueT init_value,
206 EqualityOpT equality_op = EqualityOpT(),
207 hipStream_t stream = 0,
208 bool debug_synchronous =
false)
210 return hipCUDAErrorTohipError(
211 ::cub::DeviceScan::ExclusiveScanByKey(
212 d_temp_storage, temp_storage_bytes,
213 d_keys_in, d_values_in, d_values_out, scan_op, init_value,
214 num_items, equality_op, stream, debug_synchronous
220 typename KeysInputIteratorT,
221 typename ValuesInputIteratorT,
222 typename ValuesOutputIteratorT,
225 HIPCUB_RUNTIME_FUNCTION
static
226 hipError_t InclusiveSumByKey(
void *d_temp_storage,
227 size_t &temp_storage_bytes,
228 KeysInputIteratorT d_keys_in,
229 ValuesInputIteratorT d_values_in,
230 ValuesOutputIteratorT d_values_out,
232 EqualityOpT equality_op = EqualityOpT(),
233 hipStream_t stream = 0,
234 bool debug_synchronous =
false)
236 return hipCUDAErrorTohipError(
237 ::cub::DeviceScan::InclusiveSumByKey(
238 d_temp_storage, temp_storage_bytes,
239 d_keys_in, d_values_in, d_values_out, num_items,
240 equality_op, stream, debug_synchronous
246 typename KeysInputIteratorT,
247 typename ValuesInputIteratorT,
248 typename ValuesOutputIteratorT,
252 HIPCUB_RUNTIME_FUNCTION
static
253 hipError_t InclusiveScanByKey(
void *d_temp_storage,
254 size_t &temp_storage_bytes,
255 KeysInputIteratorT d_keys_in,
256 ValuesInputIteratorT d_values_in,
257 ValuesOutputIteratorT d_values_out,
260 EqualityOpT equality_op = EqualityOpT(),
261 hipStream_t stream = 0,
262 bool debug_synchronous =
false)
264 return hipCUDAErrorTohipError(
265 ::cub::DeviceScan::InclusiveScanByKey(
266 d_temp_storage, temp_storage_bytes,
267 d_keys_in, d_values_in, d_values_out, scan_op,
268 num_items, equality_op, stream, debug_synchronous
Definition: device_scan.hpp:40
Definition: thread_operators.hpp:40