21 #ifndef ROCPRIM_DEVICE_DEVICE_RADIX_SORT_CONFIG_HPP_ 22 #define ROCPRIM_DEVICE_DEVICE_RADIX_SORT_CONFIG_HPP_ 24 #include "config_types.hpp" 25 #include "detail/config/device_radix_sort_block_sort.hpp" 26 #include "detail/device_config_helper.hpp" 31 BEGIN_ROCPRIM_NAMESPACE
50 size_t MergeSortLimit = 1024 * 1024>
53 #ifndef DOXYGEN_SHOULD_SKIP_THIS 84 template<
unsigned int LongRadixBits,
85 unsigned int ShortRadixBits,
90 unsigned int MergeSizeLimitBlocks = 1024U,
91 bool ForceSingleKernelConfig =
false,
94 unsigned int OnesweepRadixBits = 4>
97 #ifndef DOXYGEN_SHOULD_SKIP_THIS 115 template<
typename RadixSortOnesweepConfig,
typename,
typename>
118 template<target_arch Arch>
125 template<
typename Key,
typename Value>
128 template<target_arch Arch>
129 struct architecture_config
136 #ifndef DOXYGEN_SHOULD_SKIP_THIS 137 template<
typename RadixSortOnesweepConfig,
typename Key,
typename Value>
138 template<target_arch Arch>
143 template<
typename Key,
typename Value>
144 template<target_arch Arch>
148 #endif // DOXYGEN_SHOULD_SKIP_THIS 151 template<
typename RadixSortBlockSortConfig,
typename,
typename>
154 template<target_arch Arch>
161 template<
typename Key,
typename Value>
164 template<target_arch Arch>
165 struct architecture_config
172 #ifndef DOXYGEN_SHOULD_SKIP_THIS 173 template<
typename RadixSortBlockSortConfig,
typename Key,
typename Value>
174 template<target_arch Arch>
179 template<
typename Key,
typename Value>
180 template<target_arch Arch>
182 architecture_config<Arch>::params;
183 #endif // DOXYGEN_SHOULD_SKIP_THIS 187 END_ROCPRIM_NAMESPACE
192 #endif // ROCPRIM_DEVICE_DEVICE_RADIX_SORT_CONFIG_HPP_ Definition: device_radix_sort_config.hpp:119
SingleSortConfig single_sort_config
Configuration of radix sort single kernel.
Definition: device_radix_sort_config.hpp:55
Definition: config_types.hpp:65
Special type used to show that the given device-level operation will be executed with optimal configu...
Definition: config_types.hpp:45
Definition: device_radix_sort_onesweep.hpp:45
static constexpr size_t merge_sort_limit
Maximum number of items to use merge sort algorithm.
Definition: device_radix_sort_config.hpp:61
Deprecated: Configuration of device-level scan primitives.
Definition: block_histogram.hpp:62
Definition: device_radix_sort_config.hpp:116
Configuration of subalgorithm Onesweep.
Definition: device_config_helper.hpp:188
Definition: device_radix_sort_config.hpp:155
Definition: device_radix_sort_block_sort.hpp:45
Definition: device_radix_sort_config.hpp:162
Definition: device_radix_sort_config.hpp:152
Configuration of device-level radix sort operation.
Definition: device_radix_sort_config.hpp:51
Definition: test_device_binary_search.cpp:37
Configuration of device-level merge primitives.
Definition: device_merge_sort_config.hpp:66
OnesweepConfig onesweep_config
Configuration of radix sort onesweep.
Definition: device_radix_sort_config.hpp:59
Default values are provided by radix_sort_onesweep_config_base.
Definition: device_config_helper.hpp:163
struct deprecated("use radix_sort_config_v2")]] radix_sort_config
Legacy configuration of device-level radix sort operation.
Definition: device_radix_sort_config.hpp:95