30 #ifndef HIPCUB_CUB_DEVICE_DEVICE_SEGMENTED_RADIX_SORT_HPP_
31 #define HIPCUB_CUB_DEVICE_DEVICE_SEGMENTED_RADIX_SORT_HPP_
33 #include "../../../config.hpp"
35 #include <cub/device/device_segmented_radix_sort.cuh>
37 BEGIN_HIPCUB_NAMESPACE
41 template<
typename KeyT,
typename ValueT,
typename OffsetIteratorT>
42 HIPCUB_RUNTIME_FUNCTION
static
43 hipError_t SortPairs(
void * d_temp_storage,
44 size_t& temp_storage_bytes,
45 const KeyT * d_keys_in,
47 const ValueT * d_values_in,
48 ValueT * d_values_out,
51 OffsetIteratorT d_begin_offsets,
52 OffsetIteratorT d_end_offsets,
54 int end_bit =
sizeof(KeyT) * 8,
55 hipStream_t stream = 0,
56 bool debug_synchronous =
false)
58 return hipCUDAErrorTohipError(
59 ::cub::DeviceSegmentedRadixSort::SortPairs(
60 d_temp_storage, temp_storage_bytes,
61 d_keys_in, d_keys_out,
62 d_values_in, d_values_out,
63 num_items, num_segments,
64 d_begin_offsets, d_end_offsets,
66 stream, debug_synchronous
71 template<
typename KeyT,
typename ValueT,
typename OffsetIteratorT>
72 HIPCUB_RUNTIME_FUNCTION
static
73 hipError_t SortPairs(
void * d_temp_storage,
74 size_t& temp_storage_bytes,
79 OffsetIteratorT d_begin_offsets,
80 OffsetIteratorT d_end_offsets,
82 int end_bit =
sizeof(KeyT) * 8,
83 hipStream_t stream = 0,
84 bool debug_synchronous =
false)
86 return hipCUDAErrorTohipError(
87 ::cub::DeviceSegmentedRadixSort::SortPairs(
88 d_temp_storage, temp_storage_bytes,
90 num_items, num_segments,
91 d_begin_offsets, d_end_offsets,
93 stream, debug_synchronous
98 template<
typename KeyT,
typename ValueT,
typename OffsetIteratorT>
99 HIPCUB_RUNTIME_FUNCTION
static
100 hipError_t SortPairsDescending(
void * d_temp_storage,
101 size_t& temp_storage_bytes,
102 const KeyT * d_keys_in,
104 const ValueT * d_values_in,
105 ValueT * d_values_out,
108 OffsetIteratorT d_begin_offsets,
109 OffsetIteratorT d_end_offsets,
111 int end_bit =
sizeof(KeyT) * 8,
112 hipStream_t stream = 0,
113 bool debug_synchronous =
false)
115 return hipCUDAErrorTohipError(
116 ::cub::DeviceSegmentedRadixSort::SortPairsDescending(
117 d_temp_storage, temp_storage_bytes,
118 d_keys_in, d_keys_out,
119 d_values_in, d_values_out,
120 num_items, num_segments,
121 d_begin_offsets, d_end_offsets,
123 stream, debug_synchronous
128 template<
typename KeyT,
typename ValueT,
typename OffsetIteratorT>
129 HIPCUB_RUNTIME_FUNCTION
static
130 hipError_t SortPairsDescending(
void * d_temp_storage,
131 size_t& temp_storage_bytes,
136 OffsetIteratorT d_begin_offsets,
137 OffsetIteratorT d_end_offsets,
139 int end_bit =
sizeof(KeyT) * 8,
140 hipStream_t stream = 0,
141 bool debug_synchronous =
false)
143 return hipCUDAErrorTohipError(
144 ::cub::DeviceSegmentedRadixSort::SortPairsDescending(
145 d_temp_storage, temp_storage_bytes,
147 num_items, num_segments,
148 d_begin_offsets, d_end_offsets,
150 stream, debug_synchronous
155 template<
typename KeyT,
typename OffsetIteratorT>
156 HIPCUB_RUNTIME_FUNCTION
static
157 hipError_t SortKeys(
void * d_temp_storage,
158 size_t& temp_storage_bytes,
159 const KeyT * d_keys_in,
163 OffsetIteratorT d_begin_offsets,
164 OffsetIteratorT d_end_offsets,
166 int end_bit =
sizeof(KeyT) * 8,
167 hipStream_t stream = 0,
168 bool debug_synchronous =
false)
170 return hipCUDAErrorTohipError(
171 ::cub::DeviceSegmentedRadixSort::SortKeys(
172 d_temp_storage, temp_storage_bytes,
173 d_keys_in, d_keys_out,
174 num_items, num_segments,
175 d_begin_offsets, d_end_offsets,
177 stream, debug_synchronous
182 template<
typename KeyT,
typename OffsetIteratorT>
183 HIPCUB_RUNTIME_FUNCTION
static
184 hipError_t SortKeys(
void * d_temp_storage,
185 size_t& temp_storage_bytes,
189 OffsetIteratorT d_begin_offsets,
190 OffsetIteratorT d_end_offsets,
192 int end_bit =
sizeof(KeyT) * 8,
193 hipStream_t stream = 0,
194 bool debug_synchronous =
false)
196 return hipCUDAErrorTohipError(
197 ::cub::DeviceSegmentedRadixSort::SortKeys(
198 d_temp_storage, temp_storage_bytes,
200 num_items, num_segments,
201 d_begin_offsets, d_end_offsets,
203 stream, debug_synchronous
208 template<
typename KeyT,
typename OffsetIteratorT>
209 HIPCUB_RUNTIME_FUNCTION
static
210 hipError_t SortKeysDescending(
void * d_temp_storage,
211 size_t& temp_storage_bytes,
212 const KeyT * d_keys_in,
216 OffsetIteratorT d_begin_offsets,
217 OffsetIteratorT d_end_offsets,
219 int end_bit =
sizeof(KeyT) * 8,
220 hipStream_t stream = 0,
221 bool debug_synchronous =
false)
223 return hipCUDAErrorTohipError(
224 ::cub::DeviceSegmentedRadixSort::SortKeysDescending(
225 d_temp_storage, temp_storage_bytes,
226 d_keys_in, d_keys_out,
227 num_items, num_segments,
228 d_begin_offsets, d_end_offsets,
230 stream, debug_synchronous
235 template<
typename KeyT,
typename OffsetIteratorT>
236 HIPCUB_RUNTIME_FUNCTION
static
237 hipError_t SortKeysDescending(
void * d_temp_storage,
238 size_t& temp_storage_bytes,
242 OffsetIteratorT d_begin_offsets,
243 OffsetIteratorT d_end_offsets,
245 int end_bit =
sizeof(KeyT) * 8,
246 hipStream_t stream = 0,
247 bool debug_synchronous =
false)
249 return hipCUDAErrorTohipError(
250 ::cub::DeviceSegmentedRadixSort::SortKeysDescending(
251 d_temp_storage, temp_storage_bytes,
253 num_items, num_segments,
254 d_begin_offsets, d_end_offsets,
256 stream, debug_synchronous
Definition: device_segmented_radix_sort.hpp:40
Definition: util_type.hpp:108