30 #ifndef HIPCUB_CUB_DEVICE_DEVICE_SEGMENTED_REDUCE_HPP_
31 #define HIPCUB_CUB_DEVICE_DEVICE_SEGMENTED_REDUCE_HPP_
33 #include "../../../config.hpp"
35 #include <cub/device/device_segmented_reduce.cuh>
37 BEGIN_HIPCUB_NAMESPACE
42 typename InputIteratorT,
43 typename OutputIteratorT,
44 typename OffsetIteratorT,
48 HIPCUB_RUNTIME_FUNCTION
static
49 hipError_t Reduce(
void * d_temp_storage,
50 size_t& temp_storage_bytes,
52 OutputIteratorT d_out,
54 OffsetIteratorT d_begin_offsets,
55 OffsetIteratorT d_end_offsets,
56 ReductionOp reduction_op,
58 hipStream_t stream = 0,
59 bool debug_synchronous =
false)
61 (void)debug_synchronous;
62 return hipCUDAErrorTohipError(::cub::DeviceSegmentedReduce::Reduce(d_temp_storage,
75 typename InputIteratorT,
76 typename OutputIteratorT,
77 typename OffsetIteratorT
79 HIPCUB_RUNTIME_FUNCTION
static
80 hipError_t
Sum(
void * d_temp_storage,
81 size_t& temp_storage_bytes,
83 OutputIteratorT d_out,
85 OffsetIteratorT d_begin_offsets,
86 OffsetIteratorT d_end_offsets,
87 hipStream_t stream = 0,
88 bool debug_synchronous =
false)
90 (void)debug_synchronous;
91 return hipCUDAErrorTohipError(::cub::DeviceSegmentedReduce::Sum(d_temp_storage,
102 typename InputIteratorT,
103 typename OutputIteratorT,
104 typename OffsetIteratorT
106 HIPCUB_RUNTIME_FUNCTION
static
107 hipError_t
Min(
void * d_temp_storage,
108 size_t& temp_storage_bytes,
110 OutputIteratorT d_out,
112 OffsetIteratorT d_begin_offsets,
113 OffsetIteratorT d_end_offsets,
114 hipStream_t stream = 0,
115 bool debug_synchronous =
false)
117 (void)debug_synchronous;
118 return hipCUDAErrorTohipError(::cub::DeviceSegmentedReduce::Min(d_temp_storage,
129 typename InputIteratorT,
130 typename OutputIteratorT,
131 typename OffsetIteratorT
133 HIPCUB_RUNTIME_FUNCTION
static
134 hipError_t
ArgMin(
void * d_temp_storage,
135 size_t& temp_storage_bytes,
137 OutputIteratorT d_out,
139 OffsetIteratorT d_begin_offsets,
140 OffsetIteratorT d_end_offsets,
141 hipStream_t stream = 0,
142 bool debug_synchronous =
false)
144 (void)debug_synchronous;
145 return hipCUDAErrorTohipError(::cub::DeviceSegmentedReduce::ArgMin(d_temp_storage,
156 typename InputIteratorT,
157 typename OutputIteratorT,
158 typename OffsetIteratorT
160 HIPCUB_RUNTIME_FUNCTION
static
161 hipError_t
Max(
void * d_temp_storage,
162 size_t& temp_storage_bytes,
164 OutputIteratorT d_out,
166 OffsetIteratorT d_begin_offsets,
167 OffsetIteratorT d_end_offsets,
168 hipStream_t stream = 0,
169 bool debug_synchronous =
false)
171 (void)debug_synchronous;
172 return hipCUDAErrorTohipError(::cub::DeviceSegmentedReduce::Max(d_temp_storage,
183 typename InputIteratorT,
184 typename OutputIteratorT,
185 typename OffsetIteratorT
187 HIPCUB_RUNTIME_FUNCTION
static
188 hipError_t
ArgMax(
void * d_temp_storage,
189 size_t& temp_storage_bytes,
191 OutputIteratorT d_out,
193 OffsetIteratorT d_begin_offsets,
194 OffsetIteratorT d_end_offsets,
195 hipStream_t stream = 0,
196 bool debug_synchronous =
false)
198 (void)debug_synchronous;
199 return hipCUDAErrorTohipError(::cub::DeviceSegmentedReduce::ArgMax(d_temp_storage,
Definition: thread_operators.hpp:126
Definition: thread_operators.hpp:141
Definition: device_segmented_reduce.hpp:40
Definition: thread_operators.hpp:106
Definition: thread_operators.hpp:116
Definition: thread_operators.hpp:76