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_)
CK_TILE_HOST_DEVICE constexpr auto MakeDstBlockTile () const
CK_TILE_HOST_DEVICE constexpr 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_>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::BlockReduce2D< InDistributedTensor_ >::get_reduce_length_y ( ) const
inlineconstexpr

◆ MakeDstBlockTile()

template<typename InDistributedTensor_>
CK_TILE_HOST_DEVICE constexpr 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: