30 #ifndef HIPCUB_ROCPRIM_DEVICE_PARTITION_HPP_
31 #define HIPCUB_ROCPRIM_DEVICE_PARTITION_HPP_
33 #include "../../../config.hpp"
35 #include <rocprim/device/device_partition.hpp>
37 BEGIN_HIPCUB_NAMESPACE
39 struct DevicePartition
42 typename InputIteratorT,
43 typename FlagIterator,
44 typename OutputIteratorT,
45 typename NumSelectedIteratorT>
46 HIPCUB_RUNTIME_FUNCTION __forceinline__
49 size_t &temp_storage_bytes,
52 OutputIteratorT d_out,
53 NumSelectedIteratorT d_num_selected_out,
55 hipStream_t stream = 0,
56 bool debug_synchronous =
false)
58 return rocprim::partition(
71 typename InputIteratorT,
72 typename OutputIteratorT,
73 typename NumSelectedIteratorT,
75 HIPCUB_RUNTIME_FUNCTION __forceinline__
78 size_t &temp_storage_bytes,
80 OutputIteratorT d_out,
81 NumSelectedIteratorT d_num_selected_out,
84 hipStream_t stream = 0,
85 bool debug_synchronous =
false)
87 return rocprim::partition(
99 template <
typename InputIteratorT,
100 typename FirstOutputIteratorT,
101 typename SecondOutputIteratorT,
102 typename UnselectedOutputIteratorT,
103 typename NumSelectedIteratorT,
104 typename SelectFirstPartOp,
105 typename SelectSecondPartOp>
106 HIPCUB_RUNTIME_FUNCTION __forceinline__
static hipError_t
107 If(
void *d_temp_storage,
108 std::size_t &temp_storage_bytes,
110 FirstOutputIteratorT d_first_part_out,
111 SecondOutputIteratorT d_second_part_out,
112 UnselectedOutputIteratorT d_unselected_out,
113 NumSelectedIteratorT d_num_selected_out,
115 SelectFirstPartOp select_first_part_op,
116 SelectSecondPartOp select_second_part_op,
117 hipStream_t stream = 0,
118 bool debug_synchronous =
false)
120 return rocprim::partition_three_way(
129 select_first_part_op,
130 select_second_part_op,
__host__ static __forceinline__ hipError_t If(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, OutputIteratorT d_out, NumSelectedIteratorT d_num_selected_out, int num_items, SelectOp select_op, hipStream_t stream=0, bool debug_synchronous=false)
Definition: device_partition.hpp:76
__host__ static __forceinline__ hipError_t Flagged(void *d_temp_storage, size_t &temp_storage_bytes, InputIteratorT d_in, FlagIterator d_flags, OutputIteratorT d_out, NumSelectedIteratorT d_num_selected_out, int num_items, hipStream_t stream=0, bool debug_synchronous=false)
Definition: device_partition.hpp:47
Definition: util_type.hpp:54