30 #ifndef HIPCUB_ROCPRIM_DEVICE_DEVICE_SELECT_HPP_
31 #define HIPCUB_ROCPRIM_DEVICE_DEVICE_SELECT_HPP_
33 #include "../../../config.hpp"
35 #include "../thread/thread_operators.hpp"
37 #include <rocprim/device/device_select.hpp>
39 BEGIN_HIPCUB_NAMESPACE
45 typename InputIteratorT,
46 typename FlagIterator,
47 typename OutputIteratorT,
48 typename NumSelectedIteratorT
50 HIPCUB_RUNTIME_FUNCTION
static
51 hipError_t Flagged(
void *d_temp_storage,
52 size_t &temp_storage_bytes,
55 OutputIteratorT d_out,
56 NumSelectedIteratorT d_num_selected_out,
58 hipStream_t stream = 0,
59 bool debug_synchronous =
false)
61 return ::rocprim::select(
62 d_temp_storage, temp_storage_bytes,
63 d_in, d_flags, d_out, d_num_selected_out, num_items,
64 stream, debug_synchronous
69 typename InputIteratorT,
70 typename OutputIteratorT,
71 typename NumSelectedIteratorT,
74 HIPCUB_RUNTIME_FUNCTION
static
75 hipError_t If(
void *d_temp_storage,
76 size_t &temp_storage_bytes,
78 OutputIteratorT d_out,
79 NumSelectedIteratorT d_num_selected_out,
82 hipStream_t stream = 0,
83 bool debug_synchronous =
false)
85 return ::rocprim::select(
86 d_temp_storage, temp_storage_bytes,
87 d_in, d_out, d_num_selected_out, num_items, select_op,
88 stream, debug_synchronous
93 typename InputIteratorT,
94 typename OutputIteratorT,
95 typename NumSelectedIteratorT
97 HIPCUB_RUNTIME_FUNCTION
static
98 hipError_t Unique(
void *d_temp_storage,
99 size_t &temp_storage_bytes,
101 OutputIteratorT d_out,
102 NumSelectedIteratorT d_num_selected_out,
104 hipStream_t stream = 0,
105 bool debug_synchronous =
false)
107 return ::rocprim::unique(
108 d_temp_storage, temp_storage_bytes,
110 stream, debug_synchronous
115 typename KeyIteratorT,
116 typename ValueIteratorT,
117 typename OutputKeyIteratorT,
118 typename OutputValueIteratorT,
119 typename NumSelectedIteratorT
121 HIPCUB_RUNTIME_FUNCTION
static
122 hipError_t UniqueByKey(
void *d_temp_storage,
123 size_t &temp_storage_bytes,
124 KeyIteratorT d_keys_input,
125 ValueIteratorT d_values_input,
126 OutputKeyIteratorT d_keys_output,
127 OutputValueIteratorT d_values_output,
128 NumSelectedIteratorT d_num_selected_out,
130 hipStream_t stream = 0,
131 bool debug_synchronous =
false)
133 return ::rocprim::unique_by_key(
134 d_temp_storage, temp_storage_bytes,
135 d_keys_input, d_values_input,
136 d_keys_output, d_values_output,
138 stream, debug_synchronous
Definition: thread_operators.hpp:40