Tile status interface specialized for scan status and value types that cannot be combined into one machine word.
Definition at line 287 of file single_pass_scan_operators.cuh.
Public Types | |
enum | { TILE_STATUS_PADDING = CUB_PTX_WARP_THREADS } |
typedef char | StatusWord |
Public Member Functions | |
__host__ __device__ __forceinline__ | ScanTileState () |
Constructor. | |
__host__ __device__ __forceinline__ cudaError_t | Init (int num_tiles, void *d_temp_storage, size_t temp_storage_bytes) |
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 | |
StatusWord * | d_tile_status |
T * | d_tile_partial |
T * | d_tile_inclusive |
typedef char cub::ScanTileState< T, false >::StatusWord |
Definition at line 290 of file single_pass_scan_operators.cuh.
anonymous enum |
Definition at line 293 of file single_pass_scan_operators.cuh.
|
inline |
Constructor.
Definition at line 305 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 348 of file single_pass_scan_operators.cuh.
|
inline |
Initializer.
[in] | num_tiles | Number of tiles |
[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. |
[in] | temp_storage_bytes | Size in bytes of \t d_temp_storage allocation |
Definition at line 315 of file single_pass_scan_operators.cuh.
|
inline |
Initialize (from device)
Definition at line 367 of file single_pass_scan_operators.cuh.
|
inline |
Update the specified tile's inclusive value and corresponding status
Definition at line 387 of file single_pass_scan_operators.cuh.
|
inline |
Update the specified tile's partial value and corresponding status
Definition at line 403 of file single_pass_scan_operators.cuh.
|
inline |
Wait for the corresponding tile to become non-invalid
Definition at line 418 of file single_pass_scan_operators.cuh.
T* cub::ScanTileState< T, false >::d_tile_inclusive |
Definition at line 301 of file single_pass_scan_operators.cuh.
T* cub::ScanTileState< T, false >::d_tile_partial |
Definition at line 300 of file single_pass_scan_operators.cuh.
StatusWord* cub::ScanTileState< T, false >::d_tile_status |
Definition at line 299 of file single_pass_scan_operators.cuh.