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 >
static __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>>
constexpr 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>>
constexpr 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>>
constexpr 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>>
constexpr 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>>
constexpr 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:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/tensor_operation/gpu/thread/reduction_functions_threadwise.hpp