EpilogueChainer< Scheduler > Struct Template Reference#
Public Types |
Public Member Functions |
Static Public Member Functions |
Static Public Attributes |
List of all members
ck_tile::EpilogueChainer< Scheduler > Struct Template Reference
Epilogue Chainer - Modular epilogue processing facilitator. More...
#include <epilogue_chainer.hpp>
Public Types | |
| using | Problem = typename Scheduler::ProblemType |
| using | BaseOp = typename Scheduler::BaseOp |
| using | ODataType = typename BaseOp::ODataType |
| using | DsDataType = typename BaseOp::DsDataType |
| using | DsLayout = typename BaseOp::DsLayout |
| using | AccDataType = typename BaseOp::AccDataType |
Public Member Functions | |
| template<typename OutWindow , typename AccTile , typename AuxWindows , typename... Args> | |
| CK_TILE_DEVICE void | operator() (OutWindow &out_window, const AccTile &acc_tile, const AuxWindows &aux_windows, void *p_smem, Args &&... args) const |
| Process epilogue through scheduler-defined operation graph. More... | |
Static Public Member Functions | |
| static constexpr CK_TILE_HOST_DEVICE index_t | GetSmemSize () |
| static constexpr CK_TILE_HOST_DEVICE index_t | GetVectorSizeC () |
| template<index_t I> | |
| static constexpr CK_TILE_HOST_DEVICE index_t | GetVectorSizeD (number< I > idx) |
| static constexpr CK_TILE_DEVICE auto | MakeLdsDistributionEncode () |
Static Public Attributes | |
| static constexpr auto | MemoryOperation = BaseOp::MemoryOperation |
Detailed Description
template<typename Scheduler>
struct ck_tile::EpilogueChainer< Scheduler >
Epilogue Chainer - Modular epilogue processing facilitator.
- Overview
- EpilogueChainer provides an interface for processing epilogue operations through schedules. The chainer uses decomposed epilogue operations, these are scheduled/sequenced by a Scheduler to form operation graphs.
- Template Parameters
-
Scheduler The schedule provider that defines epilogue operation graphs
Member Typedef Documentation
◆ AccDataType
template<typename Scheduler >
| using ck_tile::EpilogueChainer< Scheduler >::AccDataType = typename BaseOp::AccDataType |
◆ BaseOp
template<typename Scheduler >
| using ck_tile::EpilogueChainer< Scheduler >::BaseOp = typename Scheduler::BaseOp |
◆ DsDataType
template<typename Scheduler >
| using ck_tile::EpilogueChainer< Scheduler >::DsDataType = typename BaseOp::DsDataType |
◆ DsLayout
template<typename Scheduler >
| using ck_tile::EpilogueChainer< Scheduler >::DsLayout = typename BaseOp::DsLayout |
◆ ODataType
template<typename Scheduler >
| using ck_tile::EpilogueChainer< Scheduler >::ODataType = typename BaseOp::ODataType |
◆ Problem
template<typename Scheduler >
| using ck_tile::EpilogueChainer< Scheduler >::Problem = typename Scheduler::ProblemType |
Member Function Documentation
◆ GetSmemSize()
template<typename Scheduler >
|
inlinestaticconstexpr |
◆ GetVectorSizeC()
template<typename Scheduler >
|
inlinestaticconstexpr |
◆ GetVectorSizeD()
template<typename Scheduler >
template<index_t I>
|
inlinestaticconstexpr |
◆ MakeLdsDistributionEncode()
template<typename Scheduler >
|
inlinestaticconstexpr |
◆ operator()()
template<typename Scheduler >
template<typename OutWindow , typename AccTile , typename AuxWindows , typename... Args>
|
inline |
Process epilogue through scheduler-defined operation graph.
- Flow
- Create shared context through scheduler
- Generate operation schedule based on arguments
- Run scheduled operations in sequence
Member Data Documentation
◆ MemoryOperation
template<typename Scheduler >
|
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/epilogue_chainer.hpp