rocPRIM
|
Configuration of the warp sort part of the device segmented radix sort operation. More...
#include <device_segmented_radix_sort_config.hpp>
Static Public Attributes | |
static constexpr unsigned int | logical_warp_size_small = LogicalWarpSizeSmall |
The number of threads in the logical warp in the small segment processing kernel. | |
static constexpr unsigned int | items_per_thread_small = ItemsPerThreadSmall |
The number of items processed by a thread in the small segment processing kernel. | |
static constexpr unsigned int | block_size_small = BlockSizeSmall |
The number of threads per block in the small segment processing kernel. | |
static constexpr unsigned int | partitioning_threshold = PartitioningThreshold |
If the number of segments is at least partitioning_threshold , then the segments are partitioned into small and large segment groups, and each group is handled by a different, specialized kernel. More... | |
static constexpr bool | enable_unpartitioned_warp_sort = EnableUnpartitionedWarpSort |
If set to true , warp sort can be used to sort the small segments, even if the total number of segments is below PartitioningThreshold . More... | |
static constexpr unsigned int | logical_warp_size_medium = LogicalWarpSizeMedium |
The number of threads in the logical warp in the medium segment processing kernel. | |
static constexpr unsigned int | items_per_thread_medium = ItemsPerThreadMedium |
The number of items processed by a thread in the medium segment processing kernel. | |
static constexpr unsigned int | block_size_medium = BlockSizeMedium |
The number of threads per block in the medium segment processing kernel. | |
Configuration of the warp sort part of the device segmented radix sort operation.
Short enough segments are processed on warp level.
LogicalWarpSizeSmall | - number of threads in the logical warp of the kernel that processes small segments. |
ItemsPerThreadSmall | - number of items processed by a thread in the kernel that processes small segments. |
BlockSizeSmall | - number of threads per block in the kernel which processes the small segments. |
PartitioningThreshold | - if the number of segments is at least this threshold, the segments are partitioned to a small, a medium and a large segment collection. Both collections are sorted by different kernels. Otherwise, all segments are sorted by a single kernel. |
EnableUnpartitionedWarpSort | - If set to true , warp sort can be used to sort the small segments, even if the total number of segments is below PartitioningThreshold . |
LogicalWarpSizeMedium | - number of threads in the logical warp of the kernel that processes medium segments. |
ItemsPerThreadMedium | - number of items processed by a thread in the kernel that processes medium segments. |
BlockSizeMedium | - number of threads per block in the kernel which processes the medium segments. |
|
static |
If set to true
, warp sort can be used to sort the small segments, even if the total number of segments is below PartitioningThreshold
.
|
static |
If the number of segments is at least partitioning_threshold
, then the segments are partitioned into small and large segment groups, and each group is handled by a different, specialized kernel.