cub::DispatchThreeWayPartitionIf#
-
template<typename InputIteratorT, typename FirstOutputIteratorT, typename SecondOutputIteratorT, typename UnselectedOutputIteratorT, typename NumSelectedIteratorT, typename SelectFirstPartOp, typename SelectSecondPartOp, typename OffsetT, typename PolicyHub = detail::three_way_partition::policy_hub<cub::detail::it_value_t<InputIteratorT>, detail::three_way_partition::per_partition_offset_t>>
struct DispatchThreeWayPartitionIf# Public Types
-
using per_partition_offset_t = detail::three_way_partition::per_partition_offset_t#
-
using AccumPackHelperT = detail::three_way_partition::accumulator_pack_t<per_partition_offset_t>#
-
using AccumPackT = typename AccumPackHelperT::pack_t#
-
using ScanTileStateT = cub::ScanTileState<AccumPackT>#
Public Functions
- inline DispatchThreeWayPartitionIf(
- void *d_temp_storage,
- size_t &temp_storage_bytes,
- InputIteratorT d_in,
- FirstOutputIteratorT d_first_part_out,
- SecondOutputIteratorT d_second_part_out,
- UnselectedOutputIteratorT d_unselected_out,
- NumSelectedIteratorT d_num_selected_out,
- SelectFirstPartOp select_first_part_op,
- SelectSecondPartOp select_second_part_op,
- OffsetT num_items,
- cudaStream_t stream,
-
template<typename ActivePolicyT, typename ScanInitKernelPtrT, typename SelectIfKernelPtrT>
inline cudaError_t Invoke( - ScanInitKernelPtrT three_way_partition_init_kernel,
- SelectIfKernelPtrT three_way_partition_kernel,
-
template<typename ActivePolicyT>
inline cudaError_t Invoke()#
Public Members
-
void *d_temp_storage#
-
size_t &temp_storage_bytes#
-
InputIteratorT d_in#
-
FirstOutputIteratorT d_first_part_out#
-
SecondOutputIteratorT d_second_part_out#
-
UnselectedOutputIteratorT d_unselected_out#
-
NumSelectedIteratorT d_num_selected_out#
-
SelectFirstPartOp select_first_part_op#
-
SelectSecondPartOp select_second_part_op#
-
cudaStream_t stream#
Public Static Functions
- static inline cudaError_t Dispatch(
- void *d_temp_storage,
- size_t &temp_storage_bytes,
- InputIteratorT d_in,
- FirstOutputIteratorT d_first_part_out,
- SecondOutputIteratorT d_second_part_out,
- UnselectedOutputIteratorT d_unselected_out,
- NumSelectedIteratorT d_num_selected_out,
- SelectFirstPartOp select_first_part_op,
- SelectSecondPartOp select_second_part_op,
- OffsetT num_items,
- cudaStream_t stream,
Internal dispatch routine.
Public Static Attributes
-
static constexpr per_partition_offset_t partition_size = ::cuda::std::numeric_limits<per_partition_offset_t>::max()#
-
static constexpr int INIT_KERNEL_THREADS = 256#
-
using per_partition_offset_t = detail::three_way_partition::per_partition_offset_t#