/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hipcub/checkouts/docs-5.5.1/hipcub/include/hipcub/backend/rocprim/block/block_raking_layout.hpp Source File#
block_raking_layout.hpp
Go to the documentation of this file.
73 SHARED_ELEMENTS = BLOCK_THREADS,
80 SEGMENT_LENGTH = (SHARED_ELEMENTS + MAX_RAKING_THREADS - 1) / MAX_RAKING_THREADS,
83 RAKING_THREADS = (SHARED_ELEMENTS + SEGMENT_LENGTH - 1) / SEGMENT_LENGTH,
86 USE_SEGMENT_PADDING = ((SEGMENT_LENGTH & 1) == 0) && (SEGMENT_LENGTH > 2),
89 GRID_ELEMENTS = RAKING_THREADS * (SEGMENT_LENGTH + USE_SEGMENT_PADDING),
92 UNGUARDED = (SHARED_ELEMENTS % RAKING_THREADS == 0),
Alias wrapper allowing storage to be unioned.
Definition: block_raking_layout.hpp:107
BlockRakingLayout provides a conflict-free shared memory layout abstraction for 1D raking across thre...
Definition: block_raking_layout.hpp:65
static __device__ T * RakingPtr(TempStorage &temp_storage, unsigned int linear_tid)
Returns the location for the calling thread to begin sequential raking.
Definition: block_raking_layout.hpp:132
static __device__ T * PlacementPtr(TempStorage &temp_storage, unsigned int linear_tid)
Returns the location for the calling thread to place data into the grid.
Definition: block_raking_layout.hpp:112
A storage-backing wrapper that allows types with non-trivial constructors to be aliased in unions.
Definition: util_type.hpp:363
__host__ __device__ __forceinline__ T & Alias()
Alias.
Definition: util_type.hpp:375