rocPRIM
|
![]() |
Namespaces | |
detail | |
Deprecated: Configuration of device-level scan primitives. | |
Typedefs | |
template<unsigned int BlockSize, unsigned int ItemsPerThread> | |
using | merge_config = kernel_config< BlockSize, ItemsPerThread > |
Configuration of device-level merge primitives. | |
template<class Key , unsigned int MediumWarpSize = ROCPRIM_WARP_SIZE_32> | |
using | select_warp_sort_config_t = std::conditional_t< sizeof(Key)< 2, DisabledWarpSortConfig, WarpSortConfig< 32, 4, 256, 3000,(sizeof(Key) > 2), MediumWarpSize, 4, 256 > > |
Selects the appropriate WarpSortConfig based on the size of the key type. More... | |
Functions | |
template<unsigned int LongRadixBits, unsigned int ShortRadixBits, class ScanConfig , class SortConfig , class SortSingleConfig = kernel_config<256, 10>, class SortMergeConfig = kernel_config<1024, 1>, unsigned int MergeSizeLimitBlocks = 1024U, bool ForceSingleKernelConfig = false, class OnesweepHistogramConfig = kernel_config<256, 8>, class OnesweepSortConfig = kernel_config<256, 15>, unsigned int OnesweepRadixBits = 4> | |
struct | deprecated ("use radix_sort_config_v2")]] radix_sort_config |
Legacy configuration of device-level radix sort operation. More... | |
template<class ScanConfig , class ReduceConfig > | |
struct | deprecated ("use reduce_by_key_config_v2")]] reduce_by_key_config |
Legacy configuration of device-level reduce-by-key operation. More... | |
using select_warp_sort_config_t = std::conditional_t<sizeof(Key) < 2, DisabledWarpSortConfig, WarpSortConfig<32, 4, 256, 3000, (sizeof(Key) > 2), MediumWarpSize, 4, 256 > > |
Selects the appropriate WarpSortConfig
based on the size of the key type.
Key | - the type of the sorted keys. |
MediumWarpSize | - the logical warp size of the medium segment processing kernel. |
struct deprecated | ( | "use radix_sort_config_v2" | ) |
Legacy configuration of device-level radix sort operation.
radix_sort_config_v2
for the new parameters of the algorithm. Only a best effort mapping is provided for these options, parameters not applicable to the new algorithm are ignored.Radix sort is executed in a single tile (at size < BlocksPerItem) or few iterations (passes) depending on total number of bits to be sorted (begin_bit
and end_bit
), each iteration sorts either LongRadixBits
or ShortRadixBits
bits, chosen to cover whole bit range in optimal way.
For example, if LongRadixBits
is 7, ShortRadixBits
is 6, begin_bit
is 0 and end_bit
is 32 there will be 5 iterations: 7 + 7 + 6 + 6 + 6 = 32 bits.
LongRadixBits | - number of bits in long iterations. |
ShortRadixBits | - number of bits in short iterations, must be equal to or less than LongRadixBits . |
ScanConfig | - configuration of digits scan kernel. Must be kernel_config . |
SortConfig | - configuration of radix sort kernel. Must be kernel_config . |
Configuration of radix sort single kernel.
Configuration of merge sort algorithm.
Configuration of radix sort onesweep.
Maximum number of items to use merge sort algorithm.
struct deprecated | ( | "use reduce_by_key_config_v2" | ) |
Legacy configuration of device-level reduce-by-key operation.
reduce_by_key_config_v2
for the new parameters of the algorithm. Only a best effort mapping is provided for these options, parameters not applicable to the new algorithm are ignored.ScanConfig | - configuration of carry-outs scan kernel. Must be kernel_config . |
ReduceConfig | - configuration of the main reduce-by-key kernel. Must be kernel_config . |
Configuration of carry-outs scan kernel.
Configuration of the main reduce-by-key kernel.