gemm_pipeline_problem.hpp Source File#
gemm_pipeline_problem.hpp
Go to the documentation of this file.
276 using ComputeDataType = remove_cvref_t<std::tuple_element_t<number<0>{}, ComputeDataTypeTuple>>;
Definition tile/core/algorithm/cluster_descriptor.hpp:13
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
typename detail::detector< nonesuch, void, Op, Args... >::value_t is_detected
Definition type_traits.hpp:67
auto concat(const Ts &... xs) -> std::enable_if_t<!AllConvertibleToStringView< Ts... >, std::string >
Definition concat.hpp:43
GemmPipelineProblemBase< AsDataType_, BsDataType_, EDataType_, BlockGemmShape_, Traits_, ComputeDataType_, AElementWise_, BElementWise_, FixedVectorSize_, VectorSizeA_, VectorSizeB_ > GemmPipelineProblem
Definition gemm_pipeline_problem.hpp:209
GemmPipelineScheduler
Definition gemm_pipeline_ag_bg_cr_scheduler.hpp:14
@ Intrawave
Definition gemm_pipeline_ag_bg_cr_scheduler.hpp:16
Definition gemm_pipeline_problem.hpp:323
static constexpr bool kPadN
Definition gemm_pipeline_problem.hpp:344
static constexpr index_t VectorSizeA
Definition gemm_pipeline_problem.hpp:423
static constexpr bool UseStructuredSparsity
Definition gemm_pipeline_problem.hpp:339
static CK_TILE_HOST_DEVICE constexpr auto GetAlignmentB()
Definition gemm_pipeline_problem.hpp:383
static constexpr auto Scheduler
Definition gemm_pipeline_problem.hpp:349
static CK_TILE_HOST const std::string GetName()
Definition gemm_pipeline_problem.hpp:355
remove_cvref_t< Traits_ > Traits
Definition gemm_pipeline_problem.hpp:324
static constexpr bool DoubleSmemBuffer
Definition gemm_pipeline_problem.hpp:347
static constexpr auto HasHotLoop
Definition gemm_pipeline_problem.hpp:352
static constexpr index_t NumWaveGroups
Definition gemm_pipeline_problem.hpp:338
static CK_TILE_HOST_DEVICE constexpr auto GetAlignmentC()
Definition gemm_pipeline_problem.hpp:401
remove_cvref_t< BlockGemmShape_ > BlockGemmShape
Definition gemm_pipeline_problem.hpp:331
remove_cvref_t< typename Traits::AsLayout > ALayout
Definition gemm_pipeline_problem.hpp:333
static constexpr index_t VectorLoadSize
Definition gemm_pipeline_problem.hpp:350
remove_cvref_t< ComputeDataType_ > ComputeDataType
Definition gemm_pipeline_problem.hpp:329
static CK_TILE_HOST_DEVICE constexpr auto GetAlignmentA()
Definition gemm_pipeline_problem.hpp:365
static constexpr index_t VectorSizeB
Definition gemm_pipeline_problem.hpp:434
static constexpr auto TailNum
Definition gemm_pipeline_problem.hpp:353
remove_cvref_t< typename Traits::CLayout > CLayout
Definition gemm_pipeline_problem.hpp:335
static constexpr bool kPadM
Definition gemm_pipeline_problem.hpp:343
static constexpr index_t VectorSizeC
Definition gemm_pipeline_problem.hpp:444
static constexpr bool TransposeC
Definition gemm_pipeline_problem.hpp:337
static constexpr bool kPadK
Definition gemm_pipeline_problem.hpp:345
remove_cvref_t< CDataType_ > CDataType
Definition gemm_pipeline_problem.hpp:328
static constexpr index_t kBlockSize
Definition gemm_pipeline_problem.hpp:341
remove_cvref_t< BDataType_ > BDataType
Definition gemm_pipeline_problem.hpp:327
remove_cvref_t< ADataType_ > ADataType
Definition gemm_pipeline_problem.hpp:326
remove_cvref_t< typename Traits::BsLayout > BLayout
Definition gemm_pipeline_problem.hpp:334
Definition gemm_pipeline_problem.hpp:25
remove_cvref_t< BElementWise_ > BElementWise
Definition gemm_pipeline_problem.hpp:37
remove_cvref_t< std::tuple_element_t< number< 0 >{}, BsDataTypeTuple > > BDataType
Definition gemm_pipeline_problem.hpp:69
static constexpr index_t NumWaveGroups
Definition gemm_pipeline_problem.hpp:73
static constexpr bool UseStructuredSparsity
Definition gemm_pipeline_problem.hpp:74
static constexpr bool FixedVectorSize
Definition gemm_pipeline_problem.hpp:32
remove_cvref_t< BlockGemmShape_ > BlockGemmShape
Definition gemm_pipeline_problem.hpp:34
static constexpr bool ComputeDataTypeIsTuple
Definition gemm_pipeline_problem.hpp:43
remove_cvref_t< std::tuple_element_t< number< 0 >{}, ComputeDataTypeTuple > > ComputeDataType
Definition gemm_pipeline_problem.hpp:66
static constexpr bool kPadK
Definition gemm_pipeline_problem.hpp:80
static constexpr index_t VectorSizeC
Definition gemm_pipeline_problem.hpp:186
remove_cvref_t< BsDataType_ > BsDataType
Definition gemm_pipeline_problem.hpp:29
static constexpr bool Preshuffle
Definition gemm_pipeline_problem.hpp:87
static constexpr auto Scheduler
Definition gemm_pipeline_problem.hpp:83
remove_cvref_t< std::tuple_element_t< number< 0 >{}, AsLayoutTuple > > ALayout
Definition gemm_pipeline_problem.hpp:68
remove_cvref_t< std::tuple_element_t< number< 0 >{}, AsDataTypeTuple > > ADataType
Definition gemm_pipeline_problem.hpp:67
std::conditional_t< BDataTypeIsTuple, remove_cvref_t< BsDataType >, remove_cvref_t< tuple< BsDataType > > > BsDataTypeTuple
Definition gemm_pipeline_problem.hpp:62
std::conditional_t< ComputeDataTypeIsTuple, remove_cvref_t< ComputeDataType_ >, remove_cvref_t< tuple< ComputeDataType_ > > > ComputeDataTypeTuple
Definition gemm_pipeline_problem.hpp:50
remove_cvref_t< AElementWise_ > AElementWise
Definition gemm_pipeline_problem.hpp:36
std:: conditional_t< BLayoutIsTuple, remove_cvref_t< BsLayout >, remove_cvref_t< tuple< BsLayout > > > BsLayoutTuple
Definition gemm_pipeline_problem.hpp:55
static constexpr bool ALayoutIsTuple
Definition gemm_pipeline_problem.hpp:47
std:: conditional_t< ALayoutIsTuple, remove_cvref_t< AsLayout >, remove_cvref_t< tuple< AsLayout > > > AsLayoutTuple
Definition gemm_pipeline_problem.hpp:53
static constexpr index_t kBlockSize
Definition gemm_pipeline_problem.hpp:76
static constexpr bool kPadM
Definition gemm_pipeline_problem.hpp:78
static constexpr index_t VectorSizeB
Definition gemm_pipeline_problem.hpp:172
remove_cvref_t< std::tuple_element_t< number< 0 >{}, BsLayoutTuple > > BLayout
Definition gemm_pipeline_problem.hpp:70
remove_cvref_t< typename Traits::AsLayout > AsLayout
Definition gemm_pipeline_problem.hpp:39
std::conditional_t< ADataTypeIsTuple, remove_cvref_t< AsDataType >, remove_cvref_t< tuple< AsDataType > > > AsDataTypeTuple
Definition gemm_pipeline_problem.hpp:58
static constexpr bool TransposeC
Definition gemm_pipeline_problem.hpp:72
static constexpr bool DoubleSmemBuffer
Definition gemm_pipeline_problem.hpp:82
static constexpr bool BDataTypeIsTuple
Definition gemm_pipeline_problem.hpp:45
static CK_TILE_HOST_DEVICE constexpr auto GetAlignmentB()
Definition gemm_pipeline_problem.hpp:117
static constexpr bool BLayoutIsTuple
Definition gemm_pipeline_problem.hpp:48
static CK_TILE_HOST_DEVICE constexpr auto GetAlignmentA()
Definition gemm_pipeline_problem.hpp:99
remove_cvref_t< AsDataType_ > AsDataType
Definition gemm_pipeline_problem.hpp:28
remove_cvref_t< typename Traits::CLayout > CLayout
Definition gemm_pipeline_problem.hpp:41
static CK_TILE_HOST_DEVICE constexpr auto GetAlignmentC()
Definition gemm_pipeline_problem.hpp:135
static CK_TILE_HOST const std::string GetName()
Definition gemm_pipeline_problem.hpp:89
remove_cvref_t< typename Traits::BsLayout > BsLayout
Definition gemm_pipeline_problem.hpp:40
remove_cvref_t< EDataType_ > CDataType
Definition gemm_pipeline_problem.hpp:30
static constexpr index_t VectorSizeA
Definition gemm_pipeline_problem.hpp:157
remove_cvref_t< Traits_ > Traits
Definition gemm_pipeline_problem.hpp:26
static constexpr bool kPadN
Definition gemm_pipeline_problem.hpp:79
static constexpr bool ADataTypeIsTuple
Definition gemm_pipeline_problem.hpp:44
static constexpr index_t VectorLoadSize
Definition gemm_pipeline_problem.hpp:84
Definition gemm_pipeline_problem.hpp:236
std::conditional_t< ADataTypeIsTuple, remove_cvref_t< AsDataType >, remove_cvref_t< tuple< AsDataType > > > AsDataTypeTuple
Definition gemm_pipeline_problem.hpp:268
remove_cvref_t< AElementWise_ > AElementWise
Definition gemm_pipeline_problem.hpp:242
std:: conditional_t< BLayoutIsTuple, remove_cvref_t< BsLayout >, remove_cvref_t< tuple< BsLayout > > > BsLayoutTuple
Definition gemm_pipeline_problem.hpp:265
remove_cvref_t< BlockGemmShape_ > BlockGemmShape
Definition gemm_pipeline_problem.hpp:247
remove_cvref_t< EDataType_ > CDataType
Definition gemm_pipeline_problem.hpp:241
std::conditional_t< BDataTypeIsTuple, remove_cvref_t< BsDataType >, remove_cvref_t< tuple< BsDataType > > > BsDataTypeTuple
Definition gemm_pipeline_problem.hpp:272
remove_cvref_t< typename Traits::BsLayout > BsLayout
Definition gemm_pipeline_problem.hpp:250
remove_cvref_t< std::tuple_element_t< number< 0 >{}, BsLayoutTuple > > BLayout
Definition gemm_pipeline_problem.hpp:280
static constexpr bool kPadN
Definition gemm_pipeline_problem.hpp:289
static constexpr bool BLayoutIsTuple
Definition gemm_pipeline_problem.hpp:258
static constexpr index_t VectorSizeB
Definition gemm_pipeline_problem.hpp:297
static constexpr auto TailNum
Definition gemm_pipeline_problem.hpp:300
remove_cvref_t< AsDataType_ > AsDataType
Definition gemm_pipeline_problem.hpp:239
std::conditional_t< ComputeDataTypeIsTuple, remove_cvref_t< ComputeDataType_ >, remove_cvref_t< tuple< ComputeDataType_ > > > ComputeDataTypeTuple
Definition gemm_pipeline_problem.hpp:260
remove_cvref_t< BElementWise_ > BElementWise
Definition gemm_pipeline_problem.hpp:243
static constexpr index_t kBlockSize
Definition gemm_pipeline_problem.hpp:286
static constexpr auto HasHotLoop
Definition gemm_pipeline_problem.hpp:299
std:: conditional_t< ALayoutIsTuple, remove_cvref_t< AsLayout >, remove_cvref_t< tuple< AsLayout > > > AsLayoutTuple
Definition gemm_pipeline_problem.hpp:263
static constexpr bool BDataTypeIsTuple
Definition gemm_pipeline_problem.hpp:255
static constexpr index_t VectorLoadSize
Definition gemm_pipeline_problem.hpp:301
remove_cvref_t< typename Traits::AsLayout > AsLayout
Definition gemm_pipeline_problem.hpp:249
static constexpr bool ADataTypeIsTuple
Definition gemm_pipeline_problem.hpp:254
static constexpr bool kPadK
Definition gemm_pipeline_problem.hpp:290
remove_cvref_t< std::tuple_element_t< number< 0 >{}, BsDataTypeTuple > > BDataType
Definition gemm_pipeline_problem.hpp:279
static constexpr index_t VectorSizeA
Definition gemm_pipeline_problem.hpp:296
remove_cvref_t< Traits_ > Traits
Definition gemm_pipeline_problem.hpp:237
static constexpr bool UseStructuredSparsity
Definition gemm_pipeline_problem.hpp:284
remove_cvref_t< BsDataType_ > BsDataType
Definition gemm_pipeline_problem.hpp:240
static CK_TILE_HOST const std::string GetName()
Definition gemm_pipeline_problem.hpp:302
static constexpr bool ALayoutIsTuple
Definition gemm_pipeline_problem.hpp:257
remove_cvref_t< std::tuple_element_t< number< 0 >{}, ComputeDataTypeTuple > > ComputeDataType
Definition gemm_pipeline_problem.hpp:276
static constexpr bool TransposeC
Definition gemm_pipeline_problem.hpp:282
static constexpr bool kPadM
Definition gemm_pipeline_problem.hpp:288
static constexpr bool ComputeDataTypeIsTuple
Definition gemm_pipeline_problem.hpp:253
remove_cvref_t< typename Traits::CLayout > CLayout
Definition gemm_pipeline_problem.hpp:251
static constexpr index_t NumWaveGroups
Definition gemm_pipeline_problem.hpp:283
static constexpr auto Scheduler
Definition gemm_pipeline_problem.hpp:293
static constexpr bool DoubleSmemBuffer
Definition gemm_pipeline_problem.hpp:292
remove_cvref_t< std::tuple_element_t< number< 0 >{}, AsLayoutTuple > > ALayout
Definition gemm_pipeline_problem.hpp:278
remove_cvref_t< std::tuple_element_t< number< 0 >{}, AsDataTypeTuple > > ADataType
Definition gemm_pipeline_problem.hpp:277
static constexpr bool Preshuffle
Definition gemm_pipeline_problem.hpp:294
static constexpr bool FixedVectorSize
Definition gemm_pipeline_problem.hpp:245
Definition tile/ops/elementwise/unary_element_wise_operation.hpp:437
Definition tile/core/numeric/numeric.hpp:81