#include <dpp_gemm.hpp>
|
__host__ constexpr __device__ | DppGemm () |
|
template<class ADataType , class BDataType , class CDataType > |
__device__ void | Run (const ADataType &p_a_wave, const BDataType &p_b_wave, CDataType &p_c_thread) const |
|
|
static constexpr auto | I0 = Number<0>{} |
|
static constexpr auto | I1 = Number<1>{} |
|
static constexpr auto | I2 = Number<2>{} |
|
static constexpr auto | I3 = Number<3>{} |
|
static constexpr auto | I4 = Number<4>{} |
|
static constexpr auto | I5 = Number<5>{} |
|
static constexpr auto | dpp = DppSelector<BaseType, MPerDpp, NPerDpp>{} |
|
static constexpr auto | dpp_instr = dpp.selected_dpp |
|
static constexpr auto | K0PerDpp = 1 |
|
static constexpr auto | K1PerDpp = dpp.GetK1PerDpp() |
|
◆ CIndex
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ CIndex4D
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ DppGemm()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
__host__ constexpr __device__ ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::DppGemm |
( |
| ) |
|
|
inlineconstexpr |
◆ CalculateAThreadOriginDataIndex_K_M()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
__host__ static __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::CalculateAThreadOriginDataIndex_K_M |
( |
| ) |
|
|
inlinestatic |
◆ CalculateBThreadOriginDataIndex_K_N()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
__host__ static __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::CalculateBThreadOriginDataIndex_K_N |
( |
| ) |
|
|
inlinestatic |
◆ GetBeginOfThreadBlk()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
static __device__ CIndex ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetBeginOfThreadBlk |
( |
| ) |
|
|
inlinestatic |
◆ GetCMNThreadBlkLengths()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
__host__ static constexpr __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetCMNThreadBlkLengths |
( |
| ) |
|
|
inlinestaticconstexpr |
◆ GetDppOpIdx()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
static __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetDppOpIdx |
( |
| ) |
|
|
inlinestatic |
◆ GetLaneGroupIdInWave()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
static __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetLaneGroupIdInWave |
( |
| ) |
|
|
inlinestatic |
◆ GetLaneIdInLaneGroup()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
static __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetLaneIdInLaneGroup |
( |
| ) |
|
|
inlinestatic |
◆ GetLaneIdInWave()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
static __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetLaneIdInWave |
( |
| ) |
|
|
inlinestatic |
◆ GetRegSizePerDpp()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
static constexpr __device__ index_t ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetRegSizePerDpp |
( |
| ) |
|
|
inlinestaticconstexpr |
◆ GetWaveId()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
static __device__ auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::GetWaveId |
( |
| ) |
|
|
inlinestatic |
◆ Run()
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
template<class ADataType , class BDataType , class CDataType >
__device__ void ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::Run |
( |
const ADataType & |
p_a_wave, |
|
|
const BDataType & |
p_b_wave, |
|
|
CDataType & |
p_c_thread |
|
) |
| const |
|
inline |
◆ dpp
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
constexpr auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::dpp = DppSelector<BaseType, MPerDpp, NPerDpp>{} |
|
staticconstexpr |
◆ dpp_instr
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
constexpr auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::dpp_instr = dpp.selected_dpp |
|
staticconstexpr |
◆ I0
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ I1
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ I2
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ I3
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ I4
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ I5
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
◆ K0PerDpp
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
constexpr auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::K0PerDpp = 1 |
|
staticconstexpr |
◆ K1PerDpp
template<typename BaseType , index_t MPerDpp, index_t NPerDpp, index_t KPack>
constexpr auto ck::DppGemm< BaseType, MPerDpp, NPerDpp, KPack >::K1PerDpp = dpp.GetK1PerDpp() |
|
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/docs-6.4.3/include/ck/tensor_operation/gpu/warp/dpp_gemm.hpp