BlockReduce2d< Problem_, Policy_ > Struct Template Reference

BlockReduce2d&lt; Problem_, Policy_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::BlockReduce2d< Problem_, Policy_ > Struct Template Reference
ck_tile::BlockReduce2d< Problem_, Policy_ > Struct Template Reference

#include <block_reduce2d.hpp>

Public Types

using Problem = remove_cvref_t< Problem_ >
 
using XDataType = typename Problem::XDataType
 
using ComputeDataType = typename Problem::ComputeDataType
 

Public Member Functions

constexpr CK_TILE_DEVICE BlockReduce2d ()
 
template<typename XDistributedTensor_ , typename YDistributedTensor_ , typename ReduceFunc , typename ReducePacksPerXDim = uniform_sequence_gen_t<2, 1>>
CK_TILE_DEVICE void operator() (const XDistributedTensor_ &x_tensor, YDistributedTensor_ &y_tensor, const ReduceFunc &reduce_func, ReducePacksPerXDim={})
 
template<typename XDistributedTensor_ , typename ReduceFunc , typename ReducePacksPerXDim = uniform_sequence_gen_t<2, 1>>
CK_TILE_DEVICE auto operator() (const XDistributedTensor_ &x_tensor, const ComputeDataType &reduce_init, const ReduceFunc &reduce_func, ReducePacksPerXDim={})
 

Static Public Member Functions

template<typename XDistributedTensor_ >
static CK_TILE_DEVICE auto MakeYBlockTile ()
 

Member Typedef Documentation

◆ ComputeDataType

template<typename Problem_ , typename Policy_ = void>
using ck_tile::BlockReduce2d< Problem_, Policy_ >::ComputeDataType = typename Problem::ComputeDataType

◆ Problem

template<typename Problem_ , typename Policy_ = void>
using ck_tile::BlockReduce2d< Problem_, Policy_ >::Problem = remove_cvref_t<Problem_>

◆ XDataType

template<typename Problem_ , typename Policy_ = void>
using ck_tile::BlockReduce2d< Problem_, Policy_ >::XDataType = typename Problem::XDataType

Constructor & Destructor Documentation

◆ BlockReduce2d()

template<typename Problem_ , typename Policy_ = void>
constexpr CK_TILE_DEVICE ck_tile::BlockReduce2d< Problem_, Policy_ >::BlockReduce2d ( )
inlineconstexpr

Member Function Documentation

◆ MakeYBlockTile()

template<typename Problem_ , typename Policy_ = void>
template<typename XDistributedTensor_ >
static CK_TILE_DEVICE auto ck_tile::BlockReduce2d< Problem_, Policy_ >::MakeYBlockTile ( )
inlinestatic

◆ operator()() [1/2]

template<typename Problem_ , typename Policy_ = void>
template<typename XDistributedTensor_ , typename ReduceFunc , typename ReducePacksPerXDim = uniform_sequence_gen_t<2, 1>>
CK_TILE_DEVICE auto ck_tile::BlockReduce2d< Problem_, Policy_ >::operator() ( const XDistributedTensor_ &  x_tensor,
const ComputeDataType reduce_init,
const ReduceFunc &  reduce_func,
ReducePacksPerXDim  = {} 
)
inline

◆ operator()() [2/2]

template<typename Problem_ , typename Policy_ = void>
template<typename XDistributedTensor_ , typename YDistributedTensor_ , typename ReduceFunc , typename ReducePacksPerXDim = uniform_sequence_gen_t<2, 1>>
CK_TILE_DEVICE void ck_tile::BlockReduce2d< Problem_, Policy_ >::operator() ( const XDistributedTensor_ &  x_tensor,
YDistributedTensor_ &  y_tensor,
const ReduceFunc &  reduce_func,
ReducePacksPerXDim  = {} 
)
inline

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/reduce/block/block_reduce2d.hpp