MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma > Struct Template Reference

MfmaSelector&lt; base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma &gt; Struct Template Reference#

Composable Kernel: ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma > Struct Template Reference
ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma > Struct Template Reference

#include <xdlops_gemm.hpp>

Public Member Functions

template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
template<>
constexpr auto GetMfma ()
 
__host__ constexpr __device__ MfmaSelector ()
 

Static Public Member Functions

template<typename base_type_ , index_t MPerXdlops_, index_t NPerXdlops_, typename additional_type_ = base_type_, bool is_single_rate_mfma_ = false>
static constexpr auto GetMfma ()
 
static constexpr bool IsABroadcast ()
 
static constexpr index_t GetKPerXdlops ()
 
static constexpr index_t GetK1PerXdlops ()
 

Static Public Attributes

static constexpr auto selected_mfma
 

Constructor & Destructor Documentation

◆ MfmaSelector()

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
__host__ constexpr __device__ ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::MfmaSelector ( )
inlineconstexpr

Member Function Documentation

◆ GetK1PerXdlops()

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
static constexpr index_t ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetK1PerXdlops ( )
inlinestaticconstexpr

◆ GetKPerXdlops()

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
static constexpr index_t ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetKPerXdlops ( )
inlinestaticconstexpr

◆ GetMfma() [1/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<typename base_type_ , index_t MPerXdlops_, index_t NPerXdlops_, typename additional_type_ = base_type_, bool is_single_rate_mfma_ = false>
static constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
staticconstexpr

◆ GetMfma() [2/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [3/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [4/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [5/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [6/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [7/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [8/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [9/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [10/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [11/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [12/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [13/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [14/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [15/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [16/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [17/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [18/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [19/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [20/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [21/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [22/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [23/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [24/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [25/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [26/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [27/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [28/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [29/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [30/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [31/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ GetMfma() [32/32]

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
template<>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::GetMfma ( )
inlineconstexpr

◆ IsABroadcast()

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
static constexpr bool ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::IsABroadcast ( )
inlinestaticconstexpr

Member Data Documentation

◆ selected_mfma

template<typename base_type , index_t MPerXdlops, index_t NPerXdlops, typename additional_type = base_type, bool is_single_rate_mfma = false>
constexpr auto ck::MfmaSelector< base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma >::selected_mfma
staticconstexpr
Initial value:
= mfma_type<
GetMfma<base_type, MPerXdlops, NPerXdlops, additional_type, is_single_rate_mfma>()>{}

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/gpu/warp/xdlops_gemm.hpp