Tile status interface specialized for scan status and value types that can be combined into one machine word that can be read/written coherently in a single access.
Definition at line 129 of file single_pass_scan_operators.cuh.
Data Structures | |
struct | TileDescriptor |
Public Types | |
enum | { TILE_STATUS_PADDING = CUB_PTX_WARP_THREADS } |
typedef If<(sizeof(T)==8), longlong, typenameIf<(sizeof(T)==4), int, typenameIf<(sizeof(T)==2), short, char >::Type >::Type >::Type | StatusWord |
typedef If<(sizeof(T)==8), longlong2, typenameIf<(sizeof(T)==4), int2, typenameIf<(sizeof(T)==2), int, uchar2 >::Type >::Type >::Type | TxnWord |
Public Member Functions | |
__host__ __device__ __forceinline__ | ScanTileState () |
Constructor. | |
__host__ __device__ __forceinline__ cudaError_t | Init (int, void *d_temp_storage, size_t) |
Initializer. | |
__device__ __forceinline__ void | InitializeStatus (int num_tiles) |
__device__ __forceinline__ void | SetInclusive (int tile_idx, T tile_inclusive) |
__device__ __forceinline__ void | SetPartial (int tile_idx, T tile_partial) |
__device__ __forceinline__ void | WaitForValid (int tile_idx, StatusWord &status, T &value) |
Static Public Member Functions | |
__host__ __device__ static __forceinline__ cudaError_t | AllocationSize (int num_tiles, size_t &temp_storage_bytes) |
Data Fields | |
TxnWord * | d_tile_descriptors |
typedef If<(sizeof(T)==8),longlong,typenameIf<(sizeof(T)==4),int,typenameIf<(sizeof(T)==2),short,char>::Type>::Type>::Type cub::ScanTileState< T, true >::StatusWord |
Definition at line 138 of file single_pass_scan_operators.cuh.
typedef If<(sizeof(T)==8),longlong2,typenameIf<(sizeof(T)==4),int2,typenameIf<(sizeof(T)==2),int,uchar2>::Type>::Type>::Type cub::ScanTileState< T, true >::TxnWord |
Definition at line 148 of file single_pass_scan_operators.cuh.
anonymous enum |
Definition at line 160 of file single_pass_scan_operators.cuh.
|
inline |
Constructor.
Definition at line 171 of file single_pass_scan_operators.cuh.
|
inlinestatic |
Compute device memory needed for tile status
[in] | num_tiles | Number of tiles |
[out] | temp_storage_bytes | Size in bytes of \t d_temp_storage allocation |
Definition at line 193 of file single_pass_scan_operators.cuh.
|
inline |
Initializer.
[in] | d_temp_storage | Device-accessible allocation of temporary storage. When NULL, the required allocation size is written to temp_storage_bytes and no work is done. |
Definition at line 179 of file single_pass_scan_operators.cuh.
|
inline |
Initialize (from device)
Definition at line 205 of file single_pass_scan_operators.cuh.
|
inline |
Update the specified tile's inclusive value and corresponding status
Definition at line 231 of file single_pass_scan_operators.cuh.
|
inline |
Update the specified tile's partial value and corresponding status
Definition at line 246 of file single_pass_scan_operators.cuh.
|
inline |
Wait for the corresponding tile to become non-invalid
Definition at line 260 of file single_pass_scan_operators.cuh.
TxnWord* cub::ScanTileState< T, true >::d_tile_descriptors |
Definition at line 167 of file single_pass_scan_operators.cuh.