OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
cub::ScanTileState< T, false > Struct Template Reference

Detailed Description

template<typename T>
struct cub::ScanTileState< T, false >

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
 

Member Typedef Documentation

◆ StatusWord

template<typename T >
typedef char cub::ScanTileState< T, false >::StatusWord

Definition at line 290 of file single_pass_scan_operators.cuh.

Member Enumeration Documentation

◆ anonymous enum

template<typename T >
anonymous enum

Definition at line 293 of file single_pass_scan_operators.cuh.

Constructor & Destructor Documentation

◆ ScanTileState()

template<typename T >
__host__ __device__ __forceinline__ cub::ScanTileState< T, false >::ScanTileState ( )
inline

Constructor.

Definition at line 305 of file single_pass_scan_operators.cuh.

Member Function Documentation

◆ AllocationSize()

template<typename T >
__host__ __device__ static __forceinline__ cudaError_t cub::ScanTileState< T, false >::AllocationSize ( int  num_tiles,
size_t &  temp_storage_bytes 
)
inlinestatic

Compute device memory needed for tile status

Parameters
[in]num_tilesNumber of tiles
[out]temp_storage_bytesSize in bytes of \t d_temp_storage allocation

Definition at line 348 of file single_pass_scan_operators.cuh.

◆ Init()

template<typename T >
__host__ __device__ __forceinline__ cudaError_t cub::ScanTileState< T, false >::Init ( int  num_tiles,
void *  d_temp_storage,
size_t  temp_storage_bytes 
)
inline

Initializer.

Parameters
[in]num_tilesNumber of tiles
[in]d_temp_storageDevice-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_bytesSize in bytes of \t d_temp_storage allocation

Definition at line 315 of file single_pass_scan_operators.cuh.

◆ InitializeStatus()

template<typename T >
__device__ __forceinline__ void cub::ScanTileState< T, false >::InitializeStatus ( int  num_tiles)
inline

Initialize (from device)

Definition at line 367 of file single_pass_scan_operators.cuh.

◆ SetInclusive()

template<typename T >
__device__ __forceinline__ void cub::ScanTileState< T, false >::SetInclusive ( int  tile_idx,
tile_inclusive 
)
inline

Update the specified tile's inclusive value and corresponding status

Definition at line 387 of file single_pass_scan_operators.cuh.

◆ SetPartial()

template<typename T >
__device__ __forceinline__ void cub::ScanTileState< T, false >::SetPartial ( int  tile_idx,
tile_partial 
)
inline

Update the specified tile's partial value and corresponding status

Definition at line 403 of file single_pass_scan_operators.cuh.

◆ WaitForValid()

template<typename T >
__device__ __forceinline__ void cub::ScanTileState< T, false >::WaitForValid ( int  tile_idx,
StatusWord &  status,
T &  value 
)
inline

Wait for the corresponding tile to become non-invalid

Definition at line 418 of file single_pass_scan_operators.cuh.

Field Documentation

◆ d_tile_inclusive

template<typename T >
T* cub::ScanTileState< T, false >::d_tile_inclusive

Definition at line 301 of file single_pass_scan_operators.cuh.

◆ d_tile_partial

template<typename T >
T* cub::ScanTileState< T, false >::d_tile_partial

Definition at line 300 of file single_pass_scan_operators.cuh.

◆ d_tile_status

template<typename T >
StatusWord* cub::ScanTileState< T, false >::d_tile_status

Definition at line 299 of file single_pass_scan_operators.cuh.


The documentation for this struct was generated from the following file: