OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
cub::BlockAdjacentDifference< T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH >::Iterate< ITERATION, MAX_ITERATIONS > Struct Template Reference

Templated unrolling of item comparison (inductive case) More...

Detailed Description

template<typename T, int BLOCK_DIM_X, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int PTX_ARCH = CUB_PTX_ARCH>
template<int ITERATION, int MAX_ITERATIONS>
struct cub::BlockAdjacentDifference< T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH >::Iterate< ITERATION, MAX_ITERATIONS >

Templated unrolling of item comparison (inductive case)

Definition at line 112 of file block_adjacent_difference.cuh.

Static Public Member Functions

template<int ITEMS_PER_THREAD, typename FlagT , typename FlagOp >
static __device__ __forceinline__ void FlagHeads (int linear_tid, FlagT(&flags)[ITEMS_PER_THREAD], T(&input)[ITEMS_PER_THREAD], T(&preds)[ITEMS_PER_THREAD], FlagOp flag_op)
 
template<int ITEMS_PER_THREAD, typename FlagT , typename FlagOp >
static __device__ __forceinline__ void FlagTails (int linear_tid, FlagT(&flags)[ITEMS_PER_THREAD], T(&input)[ITEMS_PER_THREAD], FlagOp flag_op)
 

Member Function Documentation

◆ FlagHeads()

template<typename T , int BLOCK_DIM_X, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int PTX_ARCH = CUB_PTX_ARCH>
template<int ITERATION, int MAX_ITERATIONS>
template<int ITEMS_PER_THREAD, typename FlagT , typename FlagOp >
static __device__ __forceinline__ void cub::BlockAdjacentDifference< T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH >::Iterate< ITERATION, MAX_ITERATIONS >::FlagHeads ( int  linear_tid,
FlagT(&)  flags[ITEMS_PER_THREAD],
T(&)  input[ITEMS_PER_THREAD],
T(&)  preds[ITEMS_PER_THREAD],
FlagOp  flag_op 
)
inlinestatic
Parameters
[out]flagsCalling thread's discontinuity head_flags
[in]inputCalling thread's input items
[out]predsCalling thread's predecessor items
[in]flag_opBinary boolean flag predicate

Definition at line 119 of file block_adjacent_difference.cuh.

◆ FlagTails()

template<typename T , int BLOCK_DIM_X, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int PTX_ARCH = CUB_PTX_ARCH>
template<int ITERATION, int MAX_ITERATIONS>
template<int ITEMS_PER_THREAD, typename FlagT , typename FlagOp >
static __device__ __forceinline__ void cub::BlockAdjacentDifference< T, BLOCK_DIM_X, BLOCK_DIM_Y, BLOCK_DIM_Z, PTX_ARCH >::Iterate< ITERATION, MAX_ITERATIONS >::FlagTails ( int  linear_tid,
FlagT(&)  flags[ITEMS_PER_THREAD],
T(&)  input[ITEMS_PER_THREAD],
FlagOp  flag_op 
)
inlinestatic
Parameters
[out]flagsCalling thread's discontinuity head_flags
[in]inputCalling thread's input items
[in]flag_opBinary boolean flag predicate

Definition at line 142 of file block_adjacent_difference.cuh.


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