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

__device__ constexpr 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>
__device__ constexpr 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,
T 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>
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>
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>
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>
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>
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: