CUDPP 1.1
Static Public Member Functions
ScanTraits< T, oper, backward, exclusive, multiRow, sums, fullBlock > Class Template Reference

Template class containing compile-time parameters to the scan functions. More...

List of all members.

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.
static __device__ T op (const T &a, const T &b)
 The operator function used for the scan.
static __device__ T identity ()
 The identity value used by the scan.

Detailed Description

template<class T, CUDPPOperator oper, bool backward, bool exclusive, bool multiRow, bool sums, bool fullBlock>
class ScanTraits< T, oper, backward, exclusive, multiRow, sums, fullBlock >

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.

Parameters:
TThe datatype of the scan
operThe CUDPPOperator to use for the scan (add, max, etc.)
multiRowTrue if this is a multi-row scan
unrollTrue if scan inner loops should be unrolled
sumsTrue if each block should write it's sum to the d_blockSums array (false for single-block scans)
backwardTrue if this is a backward scan
fullBlockTrue if all blocks in this scan are full (CTA_SIZE * SCAN_ELEMENTS_PER_THREAD elements)
exclusiveTrue for exclusive scans, false for inclusive scans

The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Enumerations Enumerator Defines