template<typename T, int ITEMS_PER_THREAD, int LOGICAL_WARP_THREADS = CUB_PTX_WARP_THREADS, int PTX_ARCH = CUB_PTX_ARCH>
class cub::WarpExchange< T, ITEMS_PER_THREAD, LOGICAL_WARP_THREADS, PTX_ARCH >
Definition at line 1134 of file block_exchange.cuh.
|
__device__ __forceinline__ | WarpExchange (TempStorage &temp_storage) |
| Constructor.
|
|
template<typename OffsetT > |
__device__ __forceinline__ void | ScatterToStriped (T items[ITEMS_PER_THREAD], OffsetT ranks[ITEMS_PER_THREAD]) |
| Exchanges valid data items annotated by rank into striped arrangement. More...
|
|
|
enum | {
IS_ARCH_WARP = (LOGICAL_WARP_THREADS == CUB_WARP_THREADS(PTX_ARCH)),
WARP_ITEMS = (ITEMS_PER_THREAD * LOGICAL_WARP_THREADS) + 1,
LOG_SMEM_BANKS = CUB_LOG_SMEM_BANKS(PTX_ARCH),
SMEM_BANKS = 1 << LOG_SMEM_BANKS,
INSERT_PADDING = (ITEMS_PER_THREAD > 4) && (PowerOfTwo<ITEMS_PER_THREAD>::VALUE),
PADDING_ITEMS = (INSERT_PADDING) ? (WARP_ITEMS >> LOG_SMEM_BANKS) : 0
} |
| Constants.
|
|
◆ ScatterToStriped()
template<typename T , int ITEMS_PER_THREAD, int LOGICAL_WARP_THREADS = CUB_PTX_WARP_THREADS, int PTX_ARCH = CUB_PTX_ARCH>
template<typename OffsetT >
__device__ __forceinline__ void cub::WarpExchange< T, ITEMS_PER_THREAD, LOGICAL_WARP_THREADS, PTX_ARCH >::ScatterToStriped |
( |
T |
items[ITEMS_PER_THREAD], |
|
|
OffsetT |
ranks[ITEMS_PER_THREAD] |
|
) |
| |
|
inline |
Exchanges valid data items annotated by rank into striped arrangement.
-
- Template Parameters
-
OffsetT | [inferred] Signed integer type for local offsets |
- Parameters
-
[in,out] | items | Items to exchange |
[in] | ranks | Corresponding scatter ranks |
Definition at line 1213 of file block_exchange.cuh.
The documentation for this class was generated from the following file: