hipCUB
Public Types | Public Member Functions | List of all members
BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH > Class Template Reference
Inheritance diagram for BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >:
Inheritance graph
[legend]
Collaboration diagram for BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >:
Collaboration graph
[legend]

Public Types

using TempStorage = typename base_type::storage_type
 

Public Member Functions

HIPCUB_DEVICE BlockExchange (TempStorage &temp_storage)
 
template<typename OutputT >
HIPCUB_DEVICE void StripedToBlocked (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD])
 
template<typename OutputT >
HIPCUB_DEVICE void BlockedToStriped (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD])
 
template<typename OutputT >
HIPCUB_DEVICE void WarpStripedToBlocked (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD])
 
template<typename OutputT >
HIPCUB_DEVICE void BlockedToWarpStriped (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD])
 
template<typename OutputT , typename OffsetT >
HIPCUB_DEVICE void ScatterToBlocked (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD])
 
template<typename OutputT , typename OffsetT >
HIPCUB_DEVICE void ScatterToStriped (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD])
 
template<typename OutputT , typename OffsetT >
HIPCUB_DEVICE void ScatterToStripedGuarded (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD])
 
template<typename OutputT , typename OffsetT , typename ValidFlag >
HIPCUB_DEVICE void ScatterToStripedFlagged (InputT(&input_items)[ITEMS_PER_THREAD], OutputT(&output_items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD], ValidFlag(&is_valid)[ITEMS_PER_THREAD])
 
HIPCUB_DEVICE void StripedToBlocked (InputT(&items)[ITEMS_PER_THREAD])
 
HIPCUB_DEVICE void BlockedToStriped (InputT(&items)[ITEMS_PER_THREAD])
 
HIPCUB_DEVICE void WarpStripedToBlocked (InputT(&items)[ITEMS_PER_THREAD])
 
HIPCUB_DEVICE void BlockedToWarpStriped (InputT(&items)[ITEMS_PER_THREAD])
 
template<typename OffsetT >
HIPCUB_DEVICE void ScatterToBlocked (InputT(&items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD])
 
template<typename OffsetT >
HIPCUB_DEVICE void ScatterToStriped (InputT(&items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD])
 
template<typename OffsetT >
HIPCUB_DEVICE void ScatterToStripedGuarded (InputT(&items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD])
 
template<typename OffsetT , typename ValidFlag >
HIPCUB_DEVICE void ScatterToStripedFlagged (InputT(&items)[ITEMS_PER_THREAD], OffsetT(&ranks)[ITEMS_PER_THREAD], ValidFlag(&is_valid)[ITEMS_PER_THREAD])
 

Member Function Documentation

◆ BlockedToStriped()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::BlockedToStriped ( InputT(&)  items[ITEMS_PER_THREAD])
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.

◆ BlockedToWarpStriped()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::BlockedToWarpStriped ( InputT(&)  items[ITEMS_PER_THREAD])
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.

◆ ScatterToBlocked()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
template<typename OffsetT >
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::ScatterToBlocked ( InputT(&)  items[ITEMS_PER_THREAD],
OffsetT(&)  ranks[ITEMS_PER_THREAD] 
)
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.
[in]ranksCorresponding scatter ranks

◆ ScatterToStriped()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
template<typename OffsetT >
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::ScatterToStriped ( InputT(&)  items[ITEMS_PER_THREAD],
OffsetT(&)  ranks[ITEMS_PER_THREAD] 
)
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.
[in]ranksCorresponding scatter ranks

◆ ScatterToStripedFlagged()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
template<typename OffsetT , typename ValidFlag >
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::ScatterToStripedFlagged ( InputT(&)  items[ITEMS_PER_THREAD],
OffsetT(&)  ranks[ITEMS_PER_THREAD],
ValidFlag(&)  is_valid[ITEMS_PER_THREAD] 
)
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.
[in]ranksCorresponding scatter ranks
[in]is_validCorresponding flag denoting item validity

◆ ScatterToStripedGuarded()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
template<typename OffsetT >
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::ScatterToStripedGuarded ( InputT(&)  items[ITEMS_PER_THREAD],
OffsetT(&)  ranks[ITEMS_PER_THREAD] 
)
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.
[in]ranksCorresponding scatter ranks

◆ StripedToBlocked()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::StripedToBlocked ( InputT(&)  items[ITEMS_PER_THREAD])
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.

◆ WarpStripedToBlocked()

template<typename InputT , int BLOCK_DIM_X, int ITEMS_PER_THREAD, bool WARP_TIME_SLICING = false, int BLOCK_DIM_Y = 1, int BLOCK_DIM_Z = 1, int ARCH = HIPCUB_ARCH>
HIPCUB_DEVICE void BlockExchange< InputT, BLOCK_DIM_X, ITEMS_PER_THREAD, WARP_TIME_SLICING, BLOCK_DIM_Y, BLOCK_DIM_Z, ARCH >::WarpStripedToBlocked ( InputT(&)  items[ITEMS_PER_THREAD])
inline
Parameters
[in,out]itemsItems to exchange, converting between striped and blocked arrangements.

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