ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation > Struct Template Reference

ThreadwiseReductionWithIndex&lt; AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation &gt; Struct Template Reference#

Composable Kernel: ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation > Struct Template Reference
ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation > Struct Template Reference

#include <reduction_functions_threadwise.hpp>

Static Public Member Functions

template<typename SrcValueBufferType, typename SrcIndexBufferType, typename DstValueBufferType, typename DstIndexBufferType>
static __device__ void Reduce (const SrcValueBufferType &src_val_buf, const SrcIndexBufferType &src_idx_buf, DstValueBufferType &dst_val_buf, DstIndexBufferType &dst_idx_buf)

Static Public Attributes

static constexpr auto src_thread_desc_m_k = SrcThreadDesc_M_K{}
static constexpr auto dst_thread_desc_m = DstThreadDesc_M{}
static constexpr auto src_length_m = src_thread_desc_m_k.GetLength(Number<0>{})
static constexpr auto src_length_k = src_thread_desc_m_k.GetLength(Number<1>{})
static constexpr auto dst_length_m = dst_thread_desc_m.GetLength(Number<0>{})

Member Function Documentation

◆ Reduce()

template<typename AccDataType, typename IndexDataType, typename SrcThreadDesc_M_K, typename DstThreadDesc_M, typename OpReduce, bool PropagateNan, typename Accumulation = detail::AccumulateWithIndexAndNanCheck<PropagateNan, OpReduce, AccDataType, IndexDataType>>
template<typename SrcValueBufferType, typename SrcIndexBufferType, typename DstValueBufferType, typename DstIndexBufferType>
__device__ void ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation >::Reduce ( const SrcValueBufferType & src_val_buf,
const SrcIndexBufferType & src_idx_buf,
DstValueBufferType & dst_val_buf,
DstIndexBufferType & dst_idx_buf )
inlinestatic

Member Data Documentation

◆ dst_length_m

template<typename AccDataType, typename IndexDataType, typename SrcThreadDesc_M_K, typename DstThreadDesc_M, typename OpReduce, bool PropagateNan, typename Accumulation = detail::AccumulateWithIndexAndNanCheck<PropagateNan, OpReduce, AccDataType, IndexDataType>>
auto ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation >::dst_length_m = dst_thread_desc_m.GetLength(Number<0>{})
staticconstexpr

◆ dst_thread_desc_m

template<typename AccDataType, typename IndexDataType, typename SrcThreadDesc_M_K, typename DstThreadDesc_M, typename OpReduce, bool PropagateNan, typename Accumulation = detail::AccumulateWithIndexAndNanCheck<PropagateNan, OpReduce, AccDataType, IndexDataType>>
auto ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation >::dst_thread_desc_m = DstThreadDesc_M{}
staticconstexpr

◆ src_length_k

template<typename AccDataType, typename IndexDataType, typename SrcThreadDesc_M_K, typename DstThreadDesc_M, typename OpReduce, bool PropagateNan, typename Accumulation = detail::AccumulateWithIndexAndNanCheck<PropagateNan, OpReduce, AccDataType, IndexDataType>>
auto ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation >::src_length_k = src_thread_desc_m_k.GetLength(Number<1>{})
staticconstexpr

◆ src_length_m

template<typename AccDataType, typename IndexDataType, typename SrcThreadDesc_M_K, typename DstThreadDesc_M, typename OpReduce, bool PropagateNan, typename Accumulation = detail::AccumulateWithIndexAndNanCheck<PropagateNan, OpReduce, AccDataType, IndexDataType>>
auto ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation >::src_length_m = src_thread_desc_m_k.GetLength(Number<0>{})
staticconstexpr

◆ src_thread_desc_m_k

template<typename AccDataType, typename IndexDataType, typename SrcThreadDesc_M_K, typename DstThreadDesc_M, typename OpReduce, bool PropagateNan, typename Accumulation = detail::AccumulateWithIndexAndNanCheck<PropagateNan, OpReduce, AccDataType, IndexDataType>>
auto ck::ThreadwiseReductionWithIndex< AccDataType, IndexDataType, SrcThreadDesc_M_K, DstThreadDesc_M, OpReduce, PropagateNan, Accumulation >::src_thread_desc_m_k = SrcThreadDesc_M_K{}
staticconstexpr

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