|
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.
1.8.13