ReduceKernel< Problem_, Policy_ > Struct Template Reference

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

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

#include <reduce2d_kernel.hpp>

Public Types

using Problem = ck_tile::remove_cvref_t< Problem_ >
 
using Policy = ck_tile::remove_cvref_t< Policy_ >
 
using XDataType = ck_tile::remove_cvref_t< typename Problem::XDataType >
 
using ComputeDataType = ck_tile::remove_cvref_t< typename Problem::ComputeDataType >
 
using YDataType = ck_tile::remove_cvref_t< typename Problem::YDataType >
 

Public Member Functions

template<typename InputShape , typename InputStrides >
CK_TILE_DEVICE void operator() (const XDataType *p_x, YDataType *p_y, InputShape input_shape, InputStrides input_strides) const
 

Static Public Member Functions

static constexpr CK_TILE_HOST auto BlockSize ()
 

Static Public Attributes

static constexpr index_t kBlockSize = Problem::BlockShape::BlockSize
 

Member Typedef Documentation

◆ ComputeDataType

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
using ck_tile::ReduceKernel< Problem_, Policy_ >::ComputeDataType = ck_tile::remove_cvref_t<typename Problem::ComputeDataType>

◆ Policy

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
using ck_tile::ReduceKernel< Problem_, Policy_ >::Policy = ck_tile::remove_cvref_t<Policy_>

◆ Problem

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
using ck_tile::ReduceKernel< Problem_, Policy_ >::Problem = ck_tile::remove_cvref_t<Problem_>

◆ XDataType

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
using ck_tile::ReduceKernel< Problem_, Policy_ >::XDataType = ck_tile::remove_cvref_t<typename Problem::XDataType>

◆ YDataType

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
using ck_tile::ReduceKernel< Problem_, Policy_ >::YDataType = ck_tile::remove_cvref_t<typename Problem::YDataType>

Member Function Documentation

◆ BlockSize()

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
static constexpr CK_TILE_HOST auto ck_tile::ReduceKernel< Problem_, Policy_ >::BlockSize ( )
inlinestaticconstexpr

◆ operator()()

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
template<typename InputShape , typename InputStrides >
CK_TILE_DEVICE void ck_tile::ReduceKernel< Problem_, Policy_ >::operator() ( const XDataType p_x,
YDataType p_y,
InputShape  input_shape,
InputStrides  input_strides 
) const
inline

Member Data Documentation

◆ kBlockSize

template<typename Problem_ , typename Policy_ = Reduce2dDefaultPolicy>
constexpr index_t ck_tile::ReduceKernel< Problem_, Policy_ >::kBlockSize = Problem::BlockShape::BlockSize
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_tile/ops/reduce/kernel/reduce2d_kernel.hpp