BlockReduce2D< InDistributedTensor_ > Struct Template Reference

BlockReduce2D&lt; InDistributedTensor_ &gt; Struct Template Reference#

Composable Kernel: ck_tile::BlockReduce2D< InDistributedTensor_ > Struct Template Reference
ck_tile::BlockReduce2D< InDistributedTensor_ > Struct Template Reference

#include <block_reduce.hpp>

Public Types

using InDistributedTensor = remove_cvref_t< InDistributedTensor_ >
 
using InDataType = typename InDistributedTensor::DataType
 

Public Member Functions

CK_TILE_HOST_DEVICE BlockReduce2D (const InDistributedTensor &t_, const InDataType &reduce_init_)
 
constexpr CK_TILE_HOST_DEVICE auto MakeDstBlockTile () const
 
constexpr CK_TILE_HOST_DEVICE auto get_reduce_length_y () const
 
template<typename ReduceFunc , typename ReduceSyncFunc , typename ReducePacksPerXDim = uniform_sequence_gen_t<2, 1>>
CK_TILE_HOST_DEVICE auto operator() (const ReduceFunc &reduce_func, const ReduceSyncFunc &reduce_sync_func, ReducePacksPerXDim={}) const
 
template<typename ReduceFunc >
CK_TILE_HOST_DEVICE auto operator() (const ReduceFunc &reduce_func) const
 

Public Attributes

InDistributedTensor t
 
InDataType reduce_init
 

Member Typedef Documentation

◆ InDataType

template<typename InDistributedTensor_ >
using ck_tile::BlockReduce2D< InDistributedTensor_ >::InDataType = typename InDistributedTensor::DataType

◆ InDistributedTensor

template<typename InDistributedTensor_ >
using ck_tile::BlockReduce2D< InDistributedTensor_ >::InDistributedTensor = remove_cvref_t<InDistributedTensor_>

Constructor & Destructor Documentation

◆ BlockReduce2D()

template<typename InDistributedTensor_ >
CK_TILE_HOST_DEVICE ck_tile::BlockReduce2D< InDistributedTensor_ >::BlockReduce2D ( const InDistributedTensor t_,
const InDataType reduce_init_ 
)
inline

Member Function Documentation

◆ get_reduce_length_y()

template<typename InDistributedTensor_ >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::BlockReduce2D< InDistributedTensor_ >::get_reduce_length_y ( ) const
inlineconstexpr

◆ MakeDstBlockTile()

template<typename InDistributedTensor_ >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::BlockReduce2D< InDistributedTensor_ >::MakeDstBlockTile ( ) const
inlineconstexpr

◆ operator()() [1/2]

template<typename InDistributedTensor_ >
template<typename ReduceFunc >
CK_TILE_HOST_DEVICE auto ck_tile::BlockReduce2D< InDistributedTensor_ >::operator() ( const ReduceFunc &  reduce_func) const
inline

◆ operator()() [2/2]

template<typename InDistributedTensor_ >
template<typename ReduceFunc , typename ReduceSyncFunc , typename ReducePacksPerXDim = uniform_sequence_gen_t<2, 1>>
CK_TILE_HOST_DEVICE auto ck_tile::BlockReduce2D< InDistributedTensor_ >::operator() ( const ReduceFunc &  reduce_func,
const ReduceSyncFunc &  reduce_sync_func,
ReducePacksPerXDim  = {} 
) const
inline

Member Data Documentation

◆ reduce_init

template<typename InDistributedTensor_ >
InDataType ck_tile::BlockReduce2D< InDistributedTensor_ >::reduce_init

◆ t

template<typename InDistributedTensor_ >
InDistributedTensor ck_tile::BlockReduce2D< InDistributedTensor_ >::t

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_reduce.hpp