rocPRIM
Public Types | Static Public Attributes | List of all members
radix_sort_config_v2< SingleSortConfig, MergeSortConfig, OnesweepConfig, MergeSortLimit > Struct Template Reference

Configuration of device-level radix sort operation. More...

#include <device_radix_sort_config.hpp>

Public Types

using single_sort_config = SingleSortConfig
 Configuration of radix sort single kernel.
 
using merge_sort_config = MergeSortConfig
 Configuration of merge sort algorithm.
 
using onesweep_config = OnesweepConfig
 Configuration of radix sort onesweep.
 

Static Public Attributes

static constexpr size_t merge_sort_limit = MergeSortLimit
 Maximum number of items to use merge sort algorithm.
 

Detailed Description

template<class SingleSortConfig = default_config, class MergeSortConfig = default_config, class OnesweepConfig = default_config, size_t MergeSortLimit = 1024 * 1024>
struct radix_sort_config_v2< SingleSortConfig, MergeSortConfig, OnesweepConfig, MergeSortLimit >

Configuration of device-level radix sort operation.

One of three algorithms is used: single sort (launches only a single block), merge sort, or Onesweep.

Template Parameters
SortSingleConfig- Configuration for the single kernel subalgorithm. must be kernel_config or default_config.
MergeSortConfig- Configuration for the merge sort subalgorithm. must be merge_sort_config or default_config. If merge_sort_config, the sorted items per block must be a power of two.
OnesweepConfig- Configuration for the Onesweep subalgorithm. must be radix_sort_onesweep_config or default_config.
MergeSortLimit- The largest number of items for which the merge sort algorithm will be used. Note that below this limit, a different algorithm may be used.

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