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 return hipCUDAErrorTohipError(
62 ::cub::DeviceSegmentedReduce::Reduce(
63 d_temp_storage, temp_storage_bytes,
64 d_in, d_out, num_segments,
65 d_begin_offsets, d_end_offsets,
66 reduction_op, initial_value,
67 stream, debug_synchronous
73 typename InputIteratorT,
74 typename OutputIteratorT,
75 typename OffsetIteratorT
77 HIPCUB_RUNTIME_FUNCTION
static
78 hipError_t
Sum(
void * d_temp_storage,
79 size_t& temp_storage_bytes,
81 OutputIteratorT d_out,
83 OffsetIteratorT d_begin_offsets,
84 OffsetIteratorT d_end_offsets,
85 hipStream_t stream = 0,
86 bool debug_synchronous =
false)
88 return hipCUDAErrorTohipError(
89 ::cub::DeviceSegmentedReduce::Sum(
90 d_temp_storage, temp_storage_bytes,
91 d_in, d_out, num_segments,
92 d_begin_offsets, d_end_offsets,
93 stream, debug_synchronous
99 typename InputIteratorT,
100 typename OutputIteratorT,
101 typename OffsetIteratorT
103 HIPCUB_RUNTIME_FUNCTION
static
104 hipError_t
Min(
void * d_temp_storage,
105 size_t& temp_storage_bytes,
107 OutputIteratorT d_out,
109 OffsetIteratorT d_begin_offsets,
110 OffsetIteratorT d_end_offsets,
111 hipStream_t stream = 0,
112 bool debug_synchronous =
false)
114 return hipCUDAErrorTohipError(
115 ::cub::DeviceSegmentedReduce::Min(
116 d_temp_storage, temp_storage_bytes,
117 d_in, d_out, num_segments,
118 d_begin_offsets, d_end_offsets,
119 stream, debug_synchronous
125 typename InputIteratorT,
126 typename OutputIteratorT,
127 typename OffsetIteratorT
129 HIPCUB_RUNTIME_FUNCTION
static
130 hipError_t
ArgMin(
void * d_temp_storage,
131 size_t& temp_storage_bytes,
133 OutputIteratorT d_out,
135 OffsetIteratorT d_begin_offsets,
136 OffsetIteratorT d_end_offsets,
137 hipStream_t stream = 0,
138 bool debug_synchronous =
false)
140 return hipCUDAErrorTohipError(
141 ::cub::DeviceSegmentedReduce::ArgMin(
142 d_temp_storage, temp_storage_bytes,
143 d_in, d_out, num_segments,
144 d_begin_offsets, d_end_offsets,
145 stream, debug_synchronous
151 typename InputIteratorT,
152 typename OutputIteratorT,
153 typename OffsetIteratorT
155 HIPCUB_RUNTIME_FUNCTION
static
156 hipError_t
Max(
void * d_temp_storage,
157 size_t& temp_storage_bytes,
159 OutputIteratorT d_out,
161 OffsetIteratorT d_begin_offsets,
162 OffsetIteratorT d_end_offsets,
163 hipStream_t stream = 0,
164 bool debug_synchronous =
false)
166 return hipCUDAErrorTohipError(
167 ::cub::DeviceSegmentedReduce::Max(
168 d_temp_storage, temp_storage_bytes,
169 d_in, d_out, num_segments,
170 d_begin_offsets, d_end_offsets,
171 stream, debug_synchronous
177 typename InputIteratorT,
178 typename OutputIteratorT,
179 typename OffsetIteratorT
181 HIPCUB_RUNTIME_FUNCTION
static
182 hipError_t
ArgMax(
void * d_temp_storage,
183 size_t& temp_storage_bytes,
185 OutputIteratorT d_out,
187 OffsetIteratorT d_begin_offsets,
188 OffsetIteratorT d_end_offsets,
189 hipStream_t stream = 0,
190 bool debug_synchronous =
false)
192 return hipCUDAErrorTohipError(
193 ::cub::DeviceSegmentedReduce::ArgMax(
194 d_temp_storage, temp_storage_bytes,
195 d_in, d_out, num_segments,
196 d_begin_offsets, d_end_offsets,
197 stream, debug_synchronous
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