/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hipcub/checkouts/docs-5.2.0/hipcub/include/hipcub/backend/rocprim/block/block_raking_layout.hpp Source File#
block_raking_layout.hpp
Go to the documentation of this file.
76 SHARED_ELEMENTS = BLOCK_THREADS,
79 MAX_RAKING_THREADS = ::rocprim::detail::get_min_warp_size(BLOCK_THREADS, HIPCUB_DEVICE_WARP_THREADS),
82 SEGMENT_LENGTH = (SHARED_ELEMENTS + MAX_RAKING_THREADS - 1) / MAX_RAKING_THREADS,
85 RAKING_THREADS = (SHARED_ELEMENTS + SEGMENT_LENGTH - 1) / SEGMENT_LENGTH,
88 USE_SEGMENT_PADDING = ((SEGMENT_LENGTH & 1) == 0) && (SEGMENT_LENGTH > 2),
91 GRID_ELEMENTS = RAKING_THREADS * (SEGMENT_LENGTH + USE_SEGMENT_PADDING),
94 UNGUARDED = (SHARED_ELEMENTS % RAKING_THREADS == 0),
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:376
Alias wrapper allowing storage to be unioned.
Definition: block_raking_layout.hpp:110
BlockRakingLayout provides a conflict-free shared memory layout abstraction for 1D raking across thre...
Definition: block_raking_layout.hpp:68
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:135
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:115