CshuffleEpilogueSchedule< Problem, ScheduleTag > Struct Template Reference

CshuffleEpilogueSchedule&lt; Problem, ScheduleTag &gt; Struct Template Reference#

Composable Kernel: ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag > Struct Template Reference
ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag > Struct Template Reference

CShuffle epilogue scheduler providing pre-built schedules. More...

#include <cshuffle_epilogue_schedule.hpp>

Public Types

using ProblemType = Problem
 
using BaseOp = CShuffleEpilogueChainBaseOp< Problem >
 

Static Public Member Functions

template<typename OutWindow , typename AccTile , typename AuxWindows >
static CK_TILE_DEVICE auto create_context (OutWindow &out_window, const AccTile &acc_tile, const AuxWindows &aux_windows, void *p_smem)
 Create context for epilogue operations. More...
 
template<typename... Args>
static CK_TILE_DEVICE auto make_schedule (Args &&... args)
 Make schedule based on compile-time tag selection. More...
 

Static Public Attributes

static constexpr index_t NumAccess = BaseOp::SFC::get_num_of_access()
 

Detailed Description

template<typename Problem, typename ScheduleTag = DefaultScheduleTag>
struct ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag >

CShuffle epilogue scheduler providing pre-built schedules.

Overview
CshuffleEpilogueSchedule acts as the scheduler component for EpilogueChainer. It provides context creation and pre-built schedules. The scheduler uses tags to select/create appropriate epilogue schedule.
Template Parameters
ProblemThe epilogue problem configuration
ScheduleTagTag selecting the epilogue schedule

Member Typedef Documentation

◆ BaseOp

template<typename Problem , typename ScheduleTag = DefaultScheduleTag>
using ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag >::BaseOp = CShuffleEpilogueChainBaseOp<Problem>

◆ ProblemType

template<typename Problem , typename ScheduleTag = DefaultScheduleTag>
using ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag >::ProblemType = Problem

Member Function Documentation

◆ create_context()

template<typename Problem , typename ScheduleTag = DefaultScheduleTag>
template<typename OutWindow , typename AccTile , typename AuxWindows >
static CK_TILE_DEVICE auto ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag >::create_context ( OutWindow &  out_window,
const AccTile &  acc_tile,
const AuxWindows &  aux_windows,
void *  p_smem 
)
inlinestatic

Create context for epilogue operations.

◆ make_schedule()

template<typename Problem , typename ScheduleTag = DefaultScheduleTag>
template<typename... Args>
static CK_TILE_DEVICE auto ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag >::make_schedule ( Args &&...  args)
inlinestatic

Make schedule based on compile-time tag selection.

Member Data Documentation

◆ NumAccess

template<typename Problem , typename ScheduleTag = DefaultScheduleTag>
constexpr index_t ck_tile::CshuffleEpilogueSchedule< Problem, ScheduleTag >::NumAccess = BaseOp::SFC::get_num_of_access()
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/epilogue/chainer/cshuffle_epilogue_schedule.hpp