ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M > Struct Template Reference

ThreadwiseWelford&lt; T, XThreadDesc_M_K, MeanVarThreadDesc_M &gt; Struct Template Reference#

Composable Kernel: ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M > Struct Template Reference
ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M > Struct Template Reference

#include <threadwise_welford.hpp>

Public Member Functions

constexpr __device__ ThreadwiseWelford ()
 
__device__ void Update (T &mean, T &var, T x)
 
template<typename XBufferType , typename MeanBufferType , typename VarBufferType >
__device__ void Run (const XBufferType &x_buf_m_k, MeanBufferType &mean_buf_m, VarBufferType &var_buf_m)
 

Public Attributes

int cur_count_
 
int max_count_
 

Static Public Attributes

static constexpr auto x_thread_desc_m_k = XThreadDesc_M_K{}
 
static constexpr auto mean_var_thread_desc_m = MeanVarThreadDesc_M{}
 
static constexpr auto thread_x_length_m = x_thread_desc_m_k.GetLength(Number<0>{})
 
static constexpr auto thread_x_length_k = x_thread_desc_m_k.GetLength(Number<1>{})
 
static constexpr auto thread_mean_var_length_m = mean_var_thread_desc_m.GetLength(Number<0>{})
 

Constructor & Destructor Documentation

◆ ThreadwiseWelford()

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
constexpr __device__ ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::ThreadwiseWelford ( )
inlineconstexpr

Member Function Documentation

◆ Run()

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
template<typename XBufferType , typename MeanBufferType , typename VarBufferType >
__device__ void ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::Run ( const XBufferType &  x_buf_m_k,
MeanBufferType &  mean_buf_m,
VarBufferType &  var_buf_m 
)
inline

◆ Update()

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
__device__ void ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::Update ( T &  mean,
T &  var,
x 
)
inline

Member Data Documentation

◆ cur_count_

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
int ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::cur_count_

◆ max_count_

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
int ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::max_count_

◆ mean_var_thread_desc_m

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
constexpr auto ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::mean_var_thread_desc_m = MeanVarThreadDesc_M{}
staticconstexpr

◆ thread_mean_var_length_m

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
constexpr auto ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::thread_mean_var_length_m = mean_var_thread_desc_m.GetLength(Number<0>{})
staticconstexpr

◆ thread_x_length_k

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
constexpr auto ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::thread_x_length_k = x_thread_desc_m_k.GetLength(Number<1>{})
staticconstexpr

◆ thread_x_length_m

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
constexpr auto ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::thread_x_length_m = x_thread_desc_m_k.GetLength(Number<0>{})
staticconstexpr

◆ x_thread_desc_m_k

template<typename T , typename XThreadDesc_M_K , typename MeanVarThreadDesc_M >
constexpr auto ck::ThreadwiseWelford< T, XThreadDesc_M_K, MeanVarThreadDesc_M >::x_thread_desc_m_k = XThreadDesc_M_K{}
staticconstexpr

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/tensor_operation/gpu/thread/threadwise_welford.hpp