DevicePartition Struct Reference

DevicePartition Struct Reference#

hipCUB: hipcub::DevicePartition Struct Reference
hipcub::DevicePartition Struct Reference

Static Public Member Functions

template<typename InputIteratorT , typename FlagIterator , typename OutputIteratorT , typename NumSelectedIteratorT >
__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)
 
template<typename InputIteratorT , typename OutputIteratorT , typename NumSelectedIteratorT , typename SelectOp >
__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)
 
template<typename InputIteratorT , typename FirstOutputIteratorT , typename SecondOutputIteratorT , typename UnselectedOutputIteratorT , typename NumSelectedIteratorT , typename SelectFirstPartOp , typename SelectSecondPartOp >
__host__ static __forceinline__ hipError_t If (void *d_temp_storage, std::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, int num_items, SelectFirstPartOp select_first_part_op, SelectSecondPartOp select_second_part_op, hipStream_t stream=0, bool debug_synchronous=false)
 
template<typename InputIteratorT , typename FlagIterator , typename OutputIteratorT , typename NumSelectedIteratorT >
__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)
 
template<typename InputIteratorT , typename OutputIteratorT , typename NumSelectedIteratorT , typename SelectOp >
__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)
 
template<typename InputIteratorT , typename FirstOutputIteratorT , typename SecondOutputIteratorT , typename UnselectedOutputIteratorT , typename NumSelectedIteratorT , typename SelectFirstPartOp , typename SelectSecondPartOp >
__host__ static __forceinline__ hipError_t If (void *d_temp_storage, std::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, int num_items, SelectFirstPartOp select_first_part_op, SelectSecondPartOp select_second_part_op, hipStream_t stream=0, bool debug_synchronous=false)
 

Member Function Documentation

◆ Flagged() [1/2]

template<typename InputIteratorT , typename FlagIterator , typename OutputIteratorT , typename NumSelectedIteratorT >
__host__ static __forceinline__ hipError_t hipcub::DevicePartition::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 
)
inlinestatic
Parameters
[in]d_temp_storageDevice-accessible allocation of temporary storage. When NULL, the required allocation size is written to temp_storage_bytes and no work is done.
[in,out]temp_storage_bytesReference to size in bytes of d_temp_storage allocation
[in]d_inPointer to the input sequence of data items
[in]d_flagsPointer to the input sequence of selection flags
[out]d_outPointer to the output sequence of partitioned data items
[out]d_num_selected_outPointer to the output total number of items selected (i.e., the offset of the unselected partition)
[in]num_itemsTotal number of items to select from
[in]stream[optional] hip stream to launch kernels within. Default is stream0.
[in]debug_synchronous[optional] Whether or not to synchronize the stream after every kernel launch to check for errors. May cause significant slowdown. Default is false.

◆ If() [1/2]

template<typename InputIteratorT , typename OutputIteratorT , typename NumSelectedIteratorT , typename SelectOp >
__host__ static __forceinline__ hipError_t hipcub::DevicePartition::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 
)
inlinestatic
Parameters
[in]d_temp_storageDevice-accessible allocation of temporary storage. When NULL, the required allocation size is written to temp_storage_bytes and no work is done.
[in,out]temp_storage_bytesReference to size in bytes of d_temp_storage allocation
[in]d_inPointer to the input sequence of data items
[out]d_outPointer to the output sequence of partitioned data items
[out]d_num_selected_outPointer to the output total number of items selected (i.e., the offset of the unselected partition)
[in]num_itemsTotal number of items to select from
[in]select_opUnary selection operator
[in]stream[optional] hip stream to launch kernels within. Default is stream0.
[in]debug_synchronous[optional] Whether or not to synchronize the stream after every kernel launch to check for errors. May cause significant slowdown. Default is false.

◆ Flagged() [2/2]

template<typename InputIteratorT , typename FlagIterator , typename OutputIteratorT , typename NumSelectedIteratorT >
__host__ static __forceinline__ hipError_t hipcub::DevicePartition::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 
)
inlinestatic
Parameters
[in]d_temp_storageDevice-accessible allocation of temporary storage. When NULL, the required allocation size is written to temp_storage_bytes and no work is done.
[in,out]temp_storage_bytesReference to size in bytes of d_temp_storage allocation
[in]d_inPointer to the input sequence of data items
[in]d_flagsPointer to the input sequence of selection flags
[out]d_outPointer to the output sequence of partitioned data items
[out]d_num_selected_outPointer to the output total number of items selected (i.e., the offset of the unselected partition)
[in]num_itemsTotal number of items to select from
[in]stream[optional] hip stream to launch kernels within. Default is stream0.
[in]debug_synchronous[optional] Whether or not to synchronize the stream after every kernel launch to check for errors. May cause significant slowdown. Default is false.

◆ If() [2/2]

template<typename InputIteratorT , typename OutputIteratorT , typename NumSelectedIteratorT , typename SelectOp >
__host__ static __forceinline__ hipError_t hipcub::DevicePartition::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 
)
inlinestatic
Parameters
[in]d_temp_storageDevice-accessible allocation of temporary storage. When NULL, the required allocation size is written to temp_storage_bytes and no work is done.
[in,out]temp_storage_bytesReference to size in bytes of d_temp_storage allocation
[in]d_inPointer to the input sequence of data items
[out]d_outPointer to the output sequence of partitioned data items
[out]d_num_selected_outPointer to the output total number of items selected (i.e., the offset of the unselected partition)
[in]num_itemsTotal number of items to select from
[in]select_opUnary selection operator
[in]stream[optional] hip stream to launch kernels within. Default is stream0.
[in]debug_synchronous[optional] Whether or not to synchronize the stream after every kernel launch to check for errors. May cause significant slowdown. Default is false.

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hipcub/checkouts/docs-5.3.3/hipcub/include/hipcub/backend/cub/device/device_partition.hpp