WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC > Struct Template Reference

WarpGemmAttributeWmma&lt; WarpGemmAttributeWmmaImpl_, kTransC &gt; Struct Template Reference#

Composable Kernel: ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC > Struct Template Reference
ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC > Struct Template Reference

#include <warp_gemm_attribute_wmma.hpp>

Public Types

using Impl = remove_cvref_t<WarpGemmAttributeWmmaImpl_>
using ADataType = typename Impl::ADataType
using BDataType = typename Impl::BDataType
using CDataType = typename Impl::CDataType
using AVecType = typename Impl::AVecType
using BVecType = typename Impl::BVecType
using CVecType = typename Impl::CVecType
using AWarpDstrEncoding = typename AWarpDstrEncodingTrait<Impl>::type
using BWarpDstrEncoding = typename BWarpDstrEncodingTrait<Impl>::type
using CWarpDstrEncoding

Public Member Functions

template<bool post_nop_ = false>
CK_TILE_DEVICE void operator() (CVecType &c_vec, const AVecType &a_vec, const BVecType &b_vec, bool_constant< post_nop_ >={}) const
CK_TILE_DEVICE CVecType operator() (const AVecType &a_vec, const BVecType &b_vec) const

Static Public Member Functions

static CK_TILE_HOST_DEVICE constexpr auto get_num_of_access ()

Static Public Attributes

static constexpr index_t kM = Impl::kM
static constexpr index_t kN = Impl::kN
static constexpr index_t kK = Impl::kK
static constexpr index_t kKPerThread = Impl::kABK0PerLane * Impl::kABK1PerLane

Member Typedef Documentation

◆ ADataType

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::ADataType = typename Impl::ADataType

◆ AVecType

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::AVecType = typename Impl::AVecType

◆ AWarpDstrEncoding

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::AWarpDstrEncoding = typename AWarpDstrEncodingTrait<Impl>::type

◆ BDataType

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::BDataType = typename Impl::BDataType

◆ BVecType

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::BVecType = typename Impl::BVecType

◆ BWarpDstrEncoding

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::BWarpDstrEncoding = typename BWarpDstrEncodingTrait<Impl>::type

◆ CDataType

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::CDataType = typename Impl::CDataType

◆ CVecType

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::CVecType = typename Impl::CVecType

◆ CWarpDstrEncoding

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::CWarpDstrEncoding
Initial value:
std::conditional_t<kTransC,
tile_distribution_encoding< sequence<>, tuple< sequence< Impl::kCNLane >, sequence< Impl::kCM0PerLane, Impl::kCMLane, Impl::kCM1PerLane > >, tuple< typename Impl::kCTPs2RHssMajor >, tuple< typename Impl::kCTPs2RHssMinor >, typename Impl::kCTYs2RHsMajor, typename Impl::kCTYs2RHsMinor > type
Definition warp_gemm_attribute_wmma.hpp:56
tile_distribution_encoding< sequence<>, tuple< sequence< Impl::kCM0PerLane, Impl::kCMLane, Impl::kCM1PerLane >, sequence< Impl::kCNLane > >, tuple< typename Impl::kCPs2RHssMajor >, tuple< typename Impl::kCPs2RHssMinor >, typename Impl::kCYs2RHsMajor, typename Impl::kCYs2RHsMinor > type
Definition warp_gemm_attribute_wmma.hpp:43

◆ Impl

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
using ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::Impl = remove_cvref_t<WarpGemmAttributeWmmaImpl_>

Member Function Documentation

◆ get_num_of_access()

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::get_num_of_access ( )
inlinestaticconstexpr

◆ operator()() [1/2]

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
CK_TILE_DEVICE CVecType ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::operator() ( const AVecType & a_vec,
const BVecType & b_vec ) const
inline

◆ operator()() [2/2]

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
template<bool post_nop_ = false>
CK_TILE_DEVICE void ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::operator() ( CVecType & c_vec,
const AVecType & a_vec,
const BVecType & b_vec,
bool_constant< post_nop_ > = {} ) const
inline

Member Data Documentation

◆ kK

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
index_t ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::kK = Impl::kK
staticconstexpr

◆ kKPerThread

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
index_t ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::kKPerThread = Impl::kABK0PerLane * Impl::kABK1PerLane
staticconstexpr

◆ kM

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
index_t ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::kM = Impl::kM
staticconstexpr

◆ kN

template<typename WarpGemmAttributeWmmaImpl_, bool kTransC = false>
index_t ck_tile::WarpGemmAttributeWmma< WarpGemmAttributeWmmaImpl_, kTransC >::kN = Impl::kN
staticconstexpr

The documentation for this struct was generated from the following file: