hipCUB: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hipcub/checkouts/docs-5.4.4/hipcub/include/hipcub/backend/rocprim/device/device_partition.hpp Source File
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__
47 static hipError_t Flagged(
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,
Definition: util_type.hpp:79