18 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
23 BeginOffsetIteratorT d_begin_offsets,
24 EndOffsetIteratorT d_end_offsets)
26 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::SortKeys(d_temp_storage,
38 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
43 BeginOffsetIteratorT d_begin_offsets,
44 EndOffsetIteratorT d_end_offsets)
46 MUDA_CUB_WRAPPER_IMPL(
47 cub::DeviceSegmentedSort::SortKeysDescending(d_temp_storage,
60 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
64 BeginOffsetIteratorT d_begin_offsets,
65 EndOffsetIteratorT d_end_offsets)
67 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::SortKeys(
68 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
72 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
76 BeginOffsetIteratorT d_begin_offsets,
77 EndOffsetIteratorT d_end_offsets)
79 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::SortKeysDescending(
80 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
84 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
89 BeginOffsetIteratorT d_begin_offsets,
90 EndOffsetIteratorT d_end_offsets)
92 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::StableSortKeys(d_temp_storage,
105 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
110 BeginOffsetIteratorT d_begin_offsets,
111 EndOffsetIteratorT d_end_offsets)
113 MUDA_CUB_WRAPPER_IMPL(
114 cub::DeviceSegmentedSort::StableSortKeysDescending(d_temp_storage,
127 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
131 BeginOffsetIteratorT d_begin_offsets,
132 EndOffsetIteratorT d_end_offsets)
134 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::StableSortKeys(
135 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
139 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
143 BeginOffsetIteratorT d_begin_offsets,
144 EndOffsetIteratorT d_end_offsets)
146 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::StableSortKeysDescending(
147 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
151 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
154 const ValueT* d_values_in,
155 ValueT* d_values_out,
158 BeginOffsetIteratorT d_begin_offsets,
159 EndOffsetIteratorT d_end_offsets)
161 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::SortPairs(d_temp_storage,
176 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
179 const ValueT* d_values_in,
180 ValueT* d_values_out,
183 BeginOffsetIteratorT d_begin_offsets,
184 EndOffsetIteratorT d_end_offsets)
186 MUDA_CUB_WRAPPER_IMPL(
187 cub::DeviceSegmentedSort::SortPairsDescending(d_temp_storage,
201 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
203 cub::DoubleBuffer<ValueT>& d_values,
206 BeginOffsetIteratorT d_begin_offsets,
207 EndOffsetIteratorT d_end_offsets)
209 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::SortPairs(d_temp_storage,
222 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
224 cub::DoubleBuffer<ValueT>& d_values,
227 BeginOffsetIteratorT d_begin_offsets,
228 EndOffsetIteratorT d_end_offsets)
230 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::SortPairsDescending(
231 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
235 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
238 const ValueT* d_values_in,
239 ValueT* d_values_out,
242 BeginOffsetIteratorT d_begin_offsets,
243 EndOffsetIteratorT d_end_offsets)
245 MUDA_CUB_WRAPPER_IMPL(
246 cub::DeviceSegmentedSort::StableSortPairs(d_temp_storage,
261 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
264 const ValueT* d_values_in,
265 ValueT* d_values_out,
268 BeginOffsetIteratorT d_begin_offsets,
269 EndOffsetIteratorT d_end_offsets)
271 MUDA_CUB_WRAPPER_IMPL(
272 cub::DeviceSegmentedSort::StableSortPairsDescending(d_temp_storage,
287 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
289 cub::DoubleBuffer<ValueT>& d_values,
292 BeginOffsetIteratorT d_begin_offsets,
293 EndOffsetIteratorT d_end_offsets)
295 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::StableSortPairs(
296 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
300 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
302 cub::DoubleBuffer<ValueT>& d_values,
305 BeginOffsetIteratorT d_begin_offsets,
306 EndOffsetIteratorT d_end_offsets)
308 MUDA_CUB_WRAPPER_IMPL(cub::DeviceSegmentedSort::StableSortPairsDescending(
309 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
314 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
316 size_t& temp_storage_bytes,
317 const KeyT* d_keys_in,
321 BeginOffsetIteratorT d_begin_offsets,
322 EndOffsetIteratorT d_end_offsets)
324 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
325 cub::DeviceSegmentedSort::SortKeys(d_temp_storage,
337 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
339 size_t& temp_storage_bytes,
340 const KeyT* d_keys_in,
344 BeginOffsetIteratorT d_begin_offsets,
345 EndOffsetIteratorT d_end_offsets)
347 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
348 cub::DeviceSegmentedSort::SortKeysDescending(d_temp_storage,
361 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
363 size_t& temp_storage_bytes,
364 cub::DoubleBuffer<KeyT>& d_keys,
367 BeginOffsetIteratorT d_begin_offsets,
368 EndOffsetIteratorT d_end_offsets)
370 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceSegmentedSort::SortKeys(
371 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
375 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
377 size_t& temp_storage_bytes,
378 cub::DoubleBuffer<KeyT>& d_keys,
381 BeginOffsetIteratorT d_begin_offsets,
382 EndOffsetIteratorT d_end_offsets)
384 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceSegmentedSort::SortKeysDescending(
385 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
389 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
391 size_t& temp_storage_bytes,
392 const KeyT* d_keys_in,
396 BeginOffsetIteratorT d_begin_offsets,
397 EndOffsetIteratorT d_end_offsets)
399 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
400 cub::DeviceSegmentedSort::StableSortKeys(d_temp_storage,
413 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
415 size_t& temp_storage_bytes,
416 const KeyT* d_keys_in,
420 BeginOffsetIteratorT d_begin_offsets,
421 EndOffsetIteratorT d_end_offsets)
423 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
424 cub::DeviceSegmentedSort::StableSortKeysDescending(d_temp_storage,
437 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
439 size_t& temp_storage_bytes,
440 cub::DoubleBuffer<KeyT>& d_keys,
443 BeginOffsetIteratorT d_begin_offsets,
444 EndOffsetIteratorT d_end_offsets)
446 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceSegmentedSort::StableSortKeys(
447 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
451 template <
typename KeyT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
453 size_t& temp_storage_bytes,
454 cub::DoubleBuffer<KeyT>& d_keys,
457 BeginOffsetIteratorT d_begin_offsets,
458 EndOffsetIteratorT d_end_offsets)
460 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceSegmentedSort::StableSortKeysDescending(
461 d_temp_storage, temp_storage_bytes, d_keys, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
465 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
467 size_t& temp_storage_bytes,
468 const KeyT* d_keys_in,
470 const ValueT* d_values_in,
471 ValueT* d_values_out,
474 BeginOffsetIteratorT d_begin_offsets,
475 EndOffsetIteratorT d_end_offsets)
477 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
478 cub::DeviceSegmentedSort::SortPairs(d_temp_storage,
493 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
495 size_t& temp_storage_bytes,
496 const KeyT* d_keys_in,
498 const ValueT* d_values_in,
499 ValueT* d_values_out,
502 BeginOffsetIteratorT d_begin_offsets,
503 EndOffsetIteratorT d_end_offsets)
505 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
506 cub::DeviceSegmentedSort::SortPairsDescending(d_temp_storage,
520 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
522 size_t& temp_storage_bytes,
523 cub::DoubleBuffer<KeyT>& d_keys,
524 cub::DoubleBuffer<ValueT>& d_values,
527 BeginOffsetIteratorT d_begin_offsets,
528 EndOffsetIteratorT d_end_offsets)
530 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceSegmentedSort::SortPairs(
531 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
535 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
537 size_t& temp_storage_bytes,
538 cub::DoubleBuffer<KeyT>& d_keys,
539 cub::DoubleBuffer<ValueT>& d_values,
542 BeginOffsetIteratorT d_begin_offsets,
543 EndOffsetIteratorT d_end_offsets)
545 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceSegmentedSort::SortPairsDescending(
546 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
550 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
552 size_t& temp_storage_bytes,
553 const KeyT* d_keys_in,
555 const ValueT* d_values_in,
556 ValueT* d_values_out,
559 BeginOffsetIteratorT d_begin_offsets,
560 EndOffsetIteratorT d_end_offsets)
562 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
563 cub::DeviceSegmentedSort::StableSortPairs(d_temp_storage,
578 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
580 size_t& temp_storage_bytes,
581 const KeyT* d_keys_in,
583 const ValueT* d_values_in,
584 ValueT* d_values_out,
587 BeginOffsetIteratorT d_begin_offsets,
588 EndOffsetIteratorT d_end_offsets)
590 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
591 cub::DeviceSegmentedSort::StableSortPairsDescending(d_temp_storage,
606 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
608 size_t& temp_storage_bytes,
609 cub::DoubleBuffer<KeyT>& d_keys,
610 cub::DoubleBuffer<ValueT>& d_values,
613 BeginOffsetIteratorT d_begin_offsets,
614 EndOffsetIteratorT d_end_offsets)
616 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceSegmentedSort::StableSortPairs(
617 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, num_segments, d_begin_offsets, d_end_offsets, _stream,
false));
621 template <
typename KeyT,
typename ValueT,
typename BeginOffsetIteratorT,
typename EndOffsetIteratorT>
623 size_t& temp_storage_bytes,
624 cub::DoubleBuffer<KeyT>& d_keys,
625 cub::DoubleBuffer<ValueT>& d_values,
628 BeginOffsetIteratorT d_begin_offsets,
629 EndOffsetIteratorT d_end_offsets)
631 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(
632 cub::DeviceSegmentedSort::StableSortPairsDescending(d_temp_storage,