BlockNormReduce< Problem_, Policy_ > Struct Template Reference

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

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

#include <block_norm_reduce.hpp>

Public Types

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

Public Member Functions

CK_TILE_DEVICE constexpr BlockNormReduce ()
template<typename XDistributedTensor_, typename MeanDistributedTensor_, typename VarDistributedTensor_>
CK_TILE_DEVICE void operator() (const XDistributedTensor_ &x_tensor, MeanDistributedTensor_ &mean_tensor, VarDistributedTensor_ &var_tensor, int &cur_count_, const int &max_count_)
template<typename XDistributedTensor_>
CK_TILE_DEVICE auto operator() (const XDistributedTensor_ &x_tensor, int &cur_count_, const int &max_count_)

Static Public Member Functions

template<typename XDistributedTensor_>
static CK_TILE_DEVICE auto MakeMeanVarBlockTile ()

Static Public Attributes

static constexpr bool kFastFDiv = Problem::kFastFDiv
static constexpr bool kWelford = Problem::kWelford

Member Typedef Documentation

◆ ComputeDataType

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

◆ Problem

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

◆ XDataType

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

Constructor & Destructor Documentation

◆ BlockNormReduce()

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

Member Function Documentation

◆ MakeMeanVarBlockTile()

template<typename Problem_, typename Policy_ = void>
template<typename XDistributedTensor_>
CK_TILE_DEVICE auto ck_tile::BlockNormReduce< Problem_, Policy_ >::MakeMeanVarBlockTile ( )
inlinestatic

◆ operator()() [1/2]

template<typename Problem_, typename Policy_ = void>
template<typename XDistributedTensor_>
CK_TILE_DEVICE auto ck_tile::BlockNormReduce< Problem_, Policy_ >::operator() ( const XDistributedTensor_ & x_tensor,
int & cur_count_,
const int & max_count_ )
inline

◆ operator()() [2/2]

template<typename Problem_, typename Policy_ = void>
template<typename XDistributedTensor_, typename MeanDistributedTensor_, typename VarDistributedTensor_>
CK_TILE_DEVICE void ck_tile::BlockNormReduce< Problem_, Policy_ >::operator() ( const XDistributedTensor_ & x_tensor,
MeanDistributedTensor_ & mean_tensor,
VarDistributedTensor_ & var_tensor,
int & cur_count_,
const int & max_count_ )
inline

Member Data Documentation

◆ kFastFDiv

template<typename Problem_, typename Policy_ = void>
bool ck_tile::BlockNormReduce< Problem_, Policy_ >::kFastFDiv = Problem::kFastFDiv
staticconstexpr

◆ kWelford

template<typename Problem_, typename Policy_ = void>
bool ck_tile::BlockNormReduce< Problem_, Policy_ >::kWelford = Problem::kWelford
staticconstexpr

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