|
CUDPP 2.0
CUDA Data-Parallel Primitives Library
|
Template class containing compile-time parameters to the scan functions. More...
Public Types | |
| typedef Oper | Op |
| The operator functor used for the scan. | |
Static Public Member Functions | |
| static __device__ bool | isBackward () |
| Returns true if this is a backward scan. | |
| static __device__ bool | isExclusive () |
| Returns true if this is an exclusive scan. | |
| static __device__ bool | isMultiRow () |
| Returns true if this a multi-row scan. | |
| static __device__ bool | writeSums () |
| Returns true if this scan writes the sum of each block to the d_blockSums array (multi-block scans) | |
| static __device__ bool | isFullBlock () |
| Returns true if this is a full scan -- all blocks process CTA_SIZE * SCAN_ELEMENTS_PER_THREAD elements. | |
Template class containing compile-time parameters to the scan functions.
ScanTraits is passed as a template parameter to all scan functions. By using these compile-time functions we can enable generic code while maintaining the highest performance. This is crucial for the performance of low-level workhorse algorithms like scan.
| T | The datatype of the scan |
| oper | The CUDPPOperator to use for the scan (add, max, etc.) |
| multiRow | True if this is a multi-row scan |
| unroll | True if scan inner loops should be unrolled |
| sums | True if each block should write it's sum to the d_blockSums array (false for single-block scans) |
| backward | True if this is a backward scan |
| fullBlock | True if all blocks in this scan are full (CTA_SIZE * SCAN_ELEMENTS_PER_THREAD elements) |
| exclusive | True for exclusive scans, false for inclusive scans |
1.7.4