EpilogueNode< EpilogueType, Args > Struct Template Reference

EpilogueNode&lt; EpilogueType, Args &gt; Struct Template Reference#

Composable Kernel: ck_tile::EpilogueNode< EpilogueType, Args > Struct Template Reference
ck_tile::EpilogueNode< EpilogueType, Args > Struct Template Reference

Epilogue operation wrapper with arguments. More...

#include <epilogue_chainer.hpp>

Public Types

using Epilogue = EpilogueType
 

Public Member Functions

constexpr EpilogueNode (Args... a)
 
template<typename OutWindow , typename AccTile , typename AuxWindows , typename Context >
CK_TILE_DEVICE void operator() (OutWindow &out_window, const AccTile &acc_tile, const AuxWindows &aux_windows, void *p_smem, Context &context) const
 Process epilogue without iteration index. More...
 
template<typename OutWindow , typename AccTile , typename AuxWindows , typename Context , index_t I>
CK_TILE_DEVICE void operator() (OutWindow &out_window, const AccTile &acc_tile, const AuxWindows &aux_windows, void *p_smem, Context &context, number< I > iAccess) const
 Process epilogue with iteration index. More...
 

Public Attributes

ck_tile::tuple< Args... > args
 

Detailed Description

template<typename EpilogueType, typename... Args>
struct ck_tile::EpilogueNode< EpilogueType, Args >

Epilogue operation wrapper with arguments.

Purpose
EpilogueNode wraps individual epilogue operations with their required arguments, allowing them to be composed into operation graphs. Arguments are captured at construction time and automatically forwarded during processing.
Template Parameters
EpilogueTypeEpilogue operation (e.g., SliceEpilogue, ScaleEpilogue)
ArgsTypes of arguments required by the epilogue operation

Member Typedef Documentation

◆ Epilogue

template<typename EpilogueType , typename... Args>
using ck_tile::EpilogueNode< EpilogueType, Args >::Epilogue = EpilogueType

Constructor & Destructor Documentation

◆ EpilogueNode()

template<typename EpilogueType , typename... Args>
constexpr ck_tile::EpilogueNode< EpilogueType, Args >::EpilogueNode ( Args...  a)
inlineconstexpr

Member Function Documentation

◆ operator()() [1/2]

template<typename EpilogueType , typename... Args>
template<typename OutWindow , typename AccTile , typename AuxWindows , typename Context >
CK_TILE_DEVICE void ck_tile::EpilogueNode< EpilogueType, Args >::operator() ( OutWindow &  out_window,
const AccTile &  acc_tile,
const AuxWindows &  aux_windows,
void *  p_smem,
Context &  context 
) const
inline

Process epilogue without iteration index.

◆ operator()() [2/2]

template<typename EpilogueType , typename... Args>
template<typename OutWindow , typename AccTile , typename AuxWindows , typename Context , index_t I>
CK_TILE_DEVICE void ck_tile::EpilogueNode< EpilogueType, Args >::operator() ( OutWindow &  out_window,
const AccTile &  acc_tile,
const AuxWindows &  aux_windows,
void *  p_smem,
Context &  context,
number< I >  iAccess 
) const
inline

Process epilogue with iteration index.

Member Data Documentation

◆ args

template<typename EpilogueType , typename... Args>
ck_tile::tuple<Args...> ck_tile::EpilogueNode< EpilogueType, Args >::args

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/epilogue/chainer/epilogue_chainer.hpp