DefaultGemm2DEpilogue< Problem_, Policy_ > Struct Template Reference#
ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ > Struct Template Reference
#include <default_2d_epilogue.hpp>
Inheritance diagram for ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >:
Public Types | |
| using | Problem = remove_cvref_t<Problem_> |
| using | AsDataType = remove_cvref_t<typename Problem::AsDataType> |
| using | BsDataType = remove_cvref_t<typename Problem::BsDataType> |
| using | AccDataType = remove_cvref_t<typename Problem::AccDataType> |
| using | ODataType = remove_cvref_t<typename Problem::ODataType> |
| using | AsDataTypeTuple |
| using | BsDataTypeTuple |
| using | ADataType = remove_cvref_t<std::tuple_element_t<number<0>{}, AsDataTypeTuple>> |
| using | BDataType = remove_cvref_t<std::tuple_element_t<number<0>{}, BsDataTypeTuple>> |
| using | BTypeToUse |
| using | DsDataType = remove_cvref_t<typename Problem::DsDataType> |
| using | DsLayout = remove_cvref_t<typename Problem::DsLayout> |
| using | CDElementwise = remove_cvref_t<typename Problem::CDElementwise> |
| using | CLayout = remove_cvref_t<typename Problem::CLayout> |
| using | WG |
| using | CWarpDstr = typename WG::CWarpDstr |
| Public Types inherited from ck_tile::Default2DEpilogue< Problem_, void > | |
| using | Problem |
| using | AccDataType |
| using | ODataType |
Static Public Member Functions | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetVectorSizeC () |
| template<index_t I> | |
| static CK_TILE_HOST_DEVICE constexpr auto | GetVectorSizeD (number< I > index) |
| Static Public Member Functions inherited from ck_tile::Default2DEpilogue< Problem_, void > | |
| static CK_TILE_HOST_DEVICE constexpr index_t | GetSmemSize () |
Static Public Attributes | |
| static constexpr bool | ADataTypeIsTuple = is_detected<is_tuple, AsDataType>::value |
| static constexpr bool | BDataTypeIsTuple = is_detected<is_tuple, BsDataType>::value |
| static constexpr index_t | kMPerXdl = Problem::kMPerXdl |
| static constexpr index_t | kNPerXdl = Problem::kNPerXdl |
| static constexpr index_t | kKPerXdl = Problem::kKPerXdl |
| static constexpr index_t | isCTransposed = Problem::isCTransposed |
| Static Public Attributes inherited from ck_tile::Default2DEpilogue< Problem_, void > | |
| static constexpr bool | kPadM |
| static constexpr bool | kPadN |
| static constexpr bool | UseRawStore |
| static constexpr memory_operation_enum | MemoryOperation |
Additional Inherited Members | |
| Public Member Functions inherited from ck_tile::Default2DEpilogue< Problem_, void > | |
| CK_TILE_DEVICE auto | operator() (ODramWindowTmp &o_dram_window_tmp, const OAccTile &o_acc_tile, const DsDramWindows &ds_dram_windows, void *=nullptr) const |
Member Typedef Documentation
◆ AccDataType
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::AccDataType = remove_cvref_t<typename Problem::AccDataType> |
◆ ADataType
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::ADataType = remove_cvref_t<std::tuple_element_t<number<0>{}, AsDataTypeTuple>> |
◆ AsDataType
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::AsDataType = remove_cvref_t<typename Problem::AsDataType> |
◆ AsDataTypeTuple
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::AsDataTypeTuple |
Initial value:
std::conditional_t<ADataTypeIsTuple,
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
static constexpr bool ADataTypeIsTuple
Definition cshuffle_epilogue.hpp:81
◆ BDataType
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::BDataType = remove_cvref_t<std::tuple_element_t<number<0>{}, BsDataTypeTuple>> |
◆ BsDataType
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::BsDataType = remove_cvref_t<typename Problem::BsDataType> |
◆ BsDataTypeTuple
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::BsDataTypeTuple |
Initial value:
std::conditional_t<BDataTypeIsTuple,
static constexpr bool BDataTypeIsTuple
Definition cshuffle_epilogue.hpp:82
◆ BTypeToUse
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::BTypeToUse |
Initial value:
remove_cvref_t< std::tuple_element_t< number< 0 >{}, AsDataTypeTuple > > ADataType
Definition cshuffle_epilogue.hpp:92
remove_cvref_t< std::tuple_element_t< number< 0 >{}, BsDataTypeTuple > > BDataType
Definition cshuffle_epilogue.hpp:93
◆ CDElementwise
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::CDElementwise = remove_cvref_t<typename Problem::CDElementwise> |
◆ CLayout
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::CLayout = remove_cvref_t<typename Problem::CLayout> |
◆ CWarpDstr
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::CWarpDstr = typename WG::CWarpDstr |
◆ DsDataType
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::DsDataType = remove_cvref_t<typename Problem::DsDataType> |
◆ DsLayout
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::DsLayout = remove_cvref_t<typename Problem::DsLayout> |
◆ ODataType
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::ODataType = remove_cvref_t<typename Problem::ODataType> |
◆ Problem
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::Problem = remove_cvref_t<Problem_> |
◆ WG
template<typename Problem_, typename Policy_ = void>
| using ck_tile::DefaultGemm2DEpilogue< Problem_, Policy_ >::WG |
Initial value:
typename impl::WarpGemmDispatcher< AType, BType, AccType, MPerWave, NPerWave, KPerWave, TransposeC, SwizzleA, UseStructuredSparsity, AttrNumAccess >::Type WarpGemmDispatcher
Definition warp_gemm_dispatcher.hpp:182
static constexpr index_t isCTransposed
Definition cshuffle_epilogue.hpp:111
remove_cvref_t< typename Problem::AccDataType > AccDataType
Definition cshuffle_epilogue.hpp:76
std::conditional_t< std::is_same_v< BDataType, pk_int4_t >, ADataType, BDataType > BTypeToUse
Definition cshuffle_epilogue.hpp:98
static constexpr index_t kMPerXdl
Definition default_2d_epilogue.hpp:186
static constexpr index_t kNPerXdl
Definition default_2d_epilogue.hpp:187
static constexpr index_t kKPerXdl
Definition default_2d_epilogue.hpp:188
remove_cvref_t< std::tuple_element_t< number< 0 >{}, AsDataTypeTuple > > ADataType
Definition default_2d_epilogue.hpp:176
Member Function Documentation
◆ GetVectorSizeC()
template<typename Problem_, typename Policy_ = void>
|
inlinestaticconstexpr |
◆ GetVectorSizeD()
template<typename Problem_, typename Policy_ = void>
template<index_t I>
|
inlinestaticconstexpr |
Member Data Documentation
◆ ADataTypeIsTuple
template<typename Problem_, typename Policy_ = void>
|
staticconstexpr |
◆ BDataTypeIsTuple
template<typename Problem_, typename Policy_ = void>
|
staticconstexpr |
◆ isCTransposed
template<typename Problem_, typename Policy_ = void>
|
staticconstexpr |
◆ kKPerXdl
template<typename Problem_, typename Policy_ = void>
|
staticconstexpr |
◆ kMPerXdl
template<typename Problem_, typename Policy_ = void>
|
staticconstexpr |
◆ kNPerXdl
template<typename Problem_, typename Policy_ = void>
|
staticconstexpr |
The documentation for this struct was generated from the following file: