rocPRIM
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
detail::onesweep_iteration_helper< Key, Value, Offset, BlockSize, ItemsPerThread, RadixBits, Descending, RadixRankAlgorithm > Struct Template Reference

Classes

union  storage_type_
 

Public Types

using key_codec = radix_key_codec< Key, Descending >
 
using bit_key_type = typename key_codec::bit_key_type
 
using radix_rank_type = ::rocprim::block_radix_rank< BlockSize, RadixBits, RadixRankAlgorithm >
 
using storage_type = detail::raw_storage< storage_type_ >
 

Public Member Functions

template<bool IsFull, class KeysInputIterator , class KeysOutputIterator , class ValuesInputIterator , class ValuesOutputIterator >
ROCPRIM_DEVICE void onesweep (KeysInputIterator keys_input, KeysOutputIterator keys_output, ValuesInputIterator values_input, ValuesOutputIterator values_output, Offset *global_digit_offsets_in, Offset *global_digit_offsets_out, onesweep_lookback_state *lookback_states, const unsigned int bit, const unsigned int current_radix_bits, const unsigned int valid_items, storage_type_ &storage)
 

Static Public Attributes

static constexpr unsigned int radix_size = 1u << RadixBits
 
static constexpr unsigned int items_per_block = BlockSize * ItemsPerThread
 
static constexpr bool with_values = !std::is_same<Value, rocprim::empty_type>::value
 
static constexpr bool load_warp_striped = RadixRankAlgorithm == block_radix_rank_algorithm::match
 
static constexpr unsigned int digits_per_thread = radix_rank_type::digits_per_thread
 

The documentation for this struct was generated from the following file: