21 #ifndef ROCPRIM_DEVICE_DEVICE_MERGE_SORT_CONFIG_HPP_ 22 #define ROCPRIM_DEVICE_DEVICE_MERGE_SORT_CONFIG_HPP_ 24 #include "config_types.hpp" 25 #include "detail/config/device_merge_sort_block_merge.hpp" 26 #include "detail/config/device_merge_sort_block_sort.hpp" 27 #include "detail/device_config_helper.hpp" 32 BEGIN_ROCPRIM_NAMESPACE
59 template<
unsigned int MergeOddevenBlockSize = 512,
60 unsigned int SortBlockSize = MergeOddevenBlockSize,
61 unsigned int SortItemsPerThread = 1,
62 unsigned int MergeMergepathPartitionBlockSize = 128,
63 unsigned int MergeMergepathBlockSize = 128,
64 unsigned int MergeMergepathItemsPerThread = 4,
65 unsigned int MinInputSizeMergepath = (1 << 17) + 70000>
68 #ifndef DOXYGEN_SHOULD_SKIP_THIS 76 MinInputSizeMergepath,
77 MergeMergepathBlockSize,
78 MergeMergepathBlockSize,
79 MergeMergepathItemsPerThread>;
90 template<
typename MergeSortBlockMergeConfig,
typename,
typename>
93 template<target_arch Arch>
100 template<
typename Key,
typename Value>
103 template<target_arch Arch>
104 struct architecture_config
111 #ifndef DOXYGEN_SHOULD_SKIP_THIS 112 template<
typename MergeSortBlockMergeConfig,
typename Key,
typename Value>
113 template<target_arch Arch>
116 architecture_config<Arch>::params;
118 template<
typename Key,
typename Value>
119 template<target_arch Arch>
123 #endif // DOXYGEN_SHOULD_SKIP_THIS 126 template<
typename MergeSortBlockSortConfig,
typename,
typename>
129 template<target_arch Arch>
136 template<
typename Key,
typename Value>
139 template<target_arch Arch>
140 struct architecture_config
147 #ifndef DOXYGEN_SHOULD_SKIP_THIS 148 template<
typename MergeSortBlockSortConfig,
typename Key,
typename Value>
149 template<target_arch Arch>
154 template<
typename Key,
typename Value>
155 template<target_arch Arch>
159 #endif // DOXYGEN_SHOULD_SKIP_THIS 163 END_ROCPRIM_NAMESPACE
168 #endif // ROCPRIM_DEVICE_DEVICE_MERGE_SORT_CONFIG_HPP_ Kernel parameters for device merge sort.
Definition: device_merge_sort_config.hpp:38
Definition: device_merge_sort_config.hpp:130
A merged sort based algorithm which sorts stably.
Special type used to show that the given device-level operation will be executed with optimal configu...
Definition: config_types.hpp:45
Definition: device_merge_sort_block_sort.hpp:45
Definition: device_config_helper.hpp:56
Definition: device_config_helper.hpp:137
Definition: device_merge_sort_config.hpp:91
Deprecated: Configuration of device-level scan primitives.
Definition: block_histogram.hpp:62
Definition: device_merge_sort_config.hpp:94
Default values are provided by merge_sort_block_merge_config_base.
Definition: device_config_helper.hpp:122
Default values are provided by merge_sort_block_sort_config_base.
Definition: device_config_helper.hpp:47
Definition: device_merge_sort_config.hpp:127
Definition: test_device_binary_search.cpp:37
Configuration of device-level merge primitives.
Definition: device_merge_sort_config.hpp:66
Definition: device_merge_sort_config.hpp:101
Definition: device_merge_sort_block_merge.hpp:45