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

Detailed Description

template<typename T, typename ScanOpT, typename ScanTileStateT, int PTX_ARCH = CUB_PTX_ARCH>
struct cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >

Stateful block-scan prefix functor. Provides the the running prefix for the current tile by using the call-back warp to wait on on aggregates/prefixes from predecessor tiles to become available.

Definition at line 680 of file single_pass_scan_operators.cuh.

Data Structures

struct  _TempStorage
 
struct  TempStorage
 

Public Types

typedef WarpReduce< T, CUB_PTX_WARP_THREADS, PTX_ARCH > WarpReduceT
 
typedef ScanTileStateT::StatusWord StatusWord
 

Public Member Functions

__device__ __forceinline__ TilePrefixCallbackOp (ScanTileStateT &tile_status, TempStorage &temp_storage, ScanOpT scan_op, int tile_idx)
 
__device__ __forceinline__ void ProcessWindow (int predecessor_idx, StatusWord &predecessor_status, T &window_aggregate)
 
__device__ __forceinline__ T operator() (T block_aggregate)
 
__device__ __forceinline__ T GetExclusivePrefix ()
 
__device__ __forceinline__ T GetInclusivePrefix ()
 
__device__ __forceinline__ T GetBlockAggregate ()
 

Data Fields

_TempStoragetemp_storage
 Reference to a warp-reduction instance.
 
ScanTileStateT & tile_status
 Interface to tile status.
 
ScanOpT scan_op
 Binary scan operator.
 
int tile_idx
 The current tile index.
 
exclusive_prefix
 Exclusive prefix for the tile.
 
inclusive_prefix
 Inclusive prefix for the tile.
 

Member Typedef Documentation

◆ StatusWord

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
typedef ScanTileStateT::StatusWord cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::StatusWord

Definition at line 698 of file single_pass_scan_operators.cuh.

◆ WarpReduceT

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
typedef WarpReduce<T, CUB_PTX_WARP_THREADS, PTX_ARCH> cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::WarpReduceT

Definition at line 683 of file single_pass_scan_operators.cuh.

Constructor & Destructor Documentation

◆ TilePrefixCallbackOp()

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
__device__ __forceinline__ cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::TilePrefixCallbackOp ( ScanTileStateT &  tile_status,
TempStorage temp_storage,
ScanOpT  scan_op,
int  tile_idx 
)
inline

Definition at line 710 of file single_pass_scan_operators.cuh.

Member Function Documentation

◆ GetBlockAggregate()

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
__device__ __forceinline__ T cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::GetBlockAggregate ( )
inline

Definition at line 805 of file single_pass_scan_operators.cuh.

◆ GetExclusivePrefix()

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
__device__ __forceinline__ T cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::GetExclusivePrefix ( )
inline

Definition at line 791 of file single_pass_scan_operators.cuh.

◆ GetInclusivePrefix()

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
__device__ __forceinline__ T cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::GetInclusivePrefix ( )
inline

Definition at line 798 of file single_pass_scan_operators.cuh.

◆ operator()()

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
__device__ __forceinline__ T cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::operator() ( block_aggregate)
inline

Definition at line 745 of file single_pass_scan_operators.cuh.

◆ ProcessWindow()

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
__device__ __forceinline__ void cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::ProcessWindow ( int  predecessor_idx,
StatusWord &  predecessor_status,
T &  window_aggregate 
)
inline
Parameters
predecessor_idxPreceding tile index to inspect
[out]predecessor_statusPreceding tile status
[out]window_aggregateRelevant partial reduction from this window of preceding tiles

Definition at line 724 of file single_pass_scan_operators.cuh.

Field Documentation

◆ exclusive_prefix

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
T cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::exclusive_prefix

Exclusive prefix for the tile.

Definition at line 705 of file single_pass_scan_operators.cuh.

◆ inclusive_prefix

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
T cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::inclusive_prefix

Inclusive prefix for the tile.

Definition at line 706 of file single_pass_scan_operators.cuh.

◆ scan_op

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
ScanOpT cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::scan_op

Binary scan operator.

Definition at line 703 of file single_pass_scan_operators.cuh.

◆ temp_storage

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
_TempStorage& cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::temp_storage

Reference to a warp-reduction instance.

Definition at line 701 of file single_pass_scan_operators.cuh.

◆ tile_idx

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
int cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::tile_idx

The current tile index.

Definition at line 704 of file single_pass_scan_operators.cuh.

◆ tile_status

template<typename T , typename ScanOpT , typename ScanTileStateT , int PTX_ARCH = CUB_PTX_ARCH>
ScanTileStateT& cub::TilePrefixCallbackOp< T, ScanOpT, ScanTileStateT, PTX_ARCH >::tile_status

Interface to tile status.

Definition at line 702 of file single_pass_scan_operators.cuh.


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