40 #include "dispatch/dispatch_radix_sort.cuh"
41 #include "../util_arch.cuh"
42 #include "../util_namespace.cuh"
148 void *d_temp_storage,
149 size_t &temp_storage_bytes,
153 ValueT *d_values_out,
156 int end_bit =
sizeof(KeyT) * 8,
157 cudaStream_t stream = 0,
158 bool debug_synchronous =
false)
163 DoubleBuffer<KeyT> d_keys(d_keys_in, d_keys_out);
164 DoubleBuffer<ValueT> d_values(d_values_in, d_values_out);
166 return DispatchRadixSort<false, KeyT, ValueT, OffsetT>::Dispatch(
249 void *d_temp_storage,
250 size_t &temp_storage_bytes,
251 DoubleBuffer<KeyT> &d_keys,
252 DoubleBuffer<ValueT> &d_values,
255 int end_bit =
sizeof(KeyT) * 8,
256 cudaStream_t stream = 0,
257 bool debug_synchronous =
false)
262 return DispatchRadixSort<false, KeyT, ValueT, OffsetT>::Dispatch(
329 void *d_temp_storage,
330 size_t &temp_storage_bytes,
334 ValueT *d_values_out,
337 int end_bit =
sizeof(KeyT) * 8,
338 cudaStream_t stream = 0,
339 bool debug_synchronous =
false)
344 DoubleBuffer<KeyT> d_keys(d_keys_in, d_keys_out);
345 DoubleBuffer<ValueT> d_values(d_values_in, d_values_out);
347 return DispatchRadixSort<true, KeyT, ValueT, OffsetT>::Dispatch(
425 void *d_temp_storage,
426 size_t &temp_storage_bytes,
427 DoubleBuffer<KeyT> &d_keys,
428 DoubleBuffer<ValueT> &d_values,
431 int end_bit =
sizeof(KeyT) * 8,
432 cudaStream_t stream = 0,
433 bool debug_synchronous =
false)
438 return DispatchRadixSort<true, KeyT, ValueT, OffsetT>::Dispatch(
504 template <
typename KeyT>
507 void *d_temp_storage,
508 size_t &temp_storage_bytes,
513 int end_bit =
sizeof(KeyT) * 8,
514 cudaStream_t stream = 0,
515 bool debug_synchronous =
false)
521 DoubleBuffer<KeyT> d_keys(d_keys_in, d_keys_out);
522 DoubleBuffer<NullType> d_values;
524 return DispatchRadixSort<false, KeyT, NullType, OffsetT>::Dispatch(
593 template <
typename KeyT>
596 void *d_temp_storage,
597 size_t &temp_storage_bytes,
598 DoubleBuffer<KeyT> &d_keys,
601 int end_bit =
sizeof(KeyT) * 8,
602 cudaStream_t stream = 0,
603 bool debug_synchronous =
false)
609 DoubleBuffer<NullType> d_values;
611 return DispatchRadixSort<false, KeyT, NullType, OffsetT>::Dispatch(
668 template <
typename KeyT>
671 void *d_temp_storage,
672 size_t &temp_storage_bytes,
677 int end_bit =
sizeof(KeyT) * 8,
678 cudaStream_t stream = 0,
679 bool debug_synchronous =
false)
684 DoubleBuffer<KeyT> d_keys(d_keys_in, d_keys_out);
685 DoubleBuffer<NullType> d_values;
687 return DispatchRadixSort<true, KeyT, NullType, OffsetT>::Dispatch(
752 template <
typename KeyT>
755 void *d_temp_storage,
756 size_t &temp_storage_bytes,
757 DoubleBuffer<KeyT> &d_keys,
760 int end_bit =
sizeof(KeyT) * 8,
761 cudaStream_t stream = 0,
762 bool debug_synchronous =
false)
768 DoubleBuffer<NullType> d_values;
770 return DispatchRadixSort<true, KeyT, NullType, OffsetT>::Dispatch(