TransformBatchedContractionContractionToBatchedGemmGemm< NumDims_G_M_N_K_O, PerBlock_M_N_K_O, GemmSpec, ASpec, B0Spec, B1Spec, CSpec > Struct Template Reference#
ck::tensor_operation::TransformBatchedContractionContractionToBatchedGemmGemm< NumDims_G_M_N_K_O, PerBlock_M_N_K_O, GemmSpec, ASpec, B0Spec, B1Spec, CSpec > Struct Template Reference
#include <transform_contraction_to_gemm.hpp>
Static Public Member Functions | |
| static auto | MakeAGridDescriptorPair (const std::vector< index_t > &a_gs_ms_ks_lengths_vec, const std::vector< index_t > &a_gs_ms_ks_strides_vec) |
| static auto | MakeAGridDescriptor_G_M_K (const std::vector< index_t > &a_gs_ms_ks_lengths_vec, const std::vector< index_t > &a_gs_ms_ks_strides_vec) |
| static auto | MakeAGridDescriptor_M_K (const std::vector< index_t > &a_gs_ms_ks_lengths_vec, const std::vector< index_t > &a_gs_ms_ks_strides_vec) |
| template<typename AGridDesc_M_K, typename Number> | |
| __host__ static __device__ constexpr auto | MakeAGridDescriptor_AK0_M_AK1 (const AGridDesc_M_K &a_grid_desc_m_k, const Number &AK1) |
| static auto | MakeB0GridDescriptorPair (const std::vector< index_t > &b0_gs_ns_ks_lengths_vec, const std::vector< index_t > &b0_gs_ns_ks_strides_vec) |
| static auto | MakeB0GridDescriptor_G_N_K (const std::vector< index_t > &b0_gs_ns_ks_lengths_vec, const std::vector< index_t > &b0_gs_ns_ks_strides_vec) |
| static auto | MakeB0GridDescriptor_N_K (const std::vector< index_t > &b0_gs_ns_ks_lengths_vec, const std::vector< index_t > &b0_gs_ns_ks_strides_vec) |
| template<typename BGridDesc_N_K, typename Number> | |
| __host__ static __device__ constexpr auto | MakeB0GridDescriptor_BK0_N_BK1 (const BGridDesc_N_K &b_grid_desc_n_k, const Number &BK1) |
| static auto | MakeB1GridDescriptorPair (const std::vector< index_t > &b1_gs_os_ns_lengths_vec, const std::vector< index_t > &b1_gs_os_ns_strides_vec) |
| static auto | MakeB1GridDescriptor_G_N_K (const std::vector< index_t > &b1_gs_os_ns_lengths_vec, const std::vector< index_t > &b1_gs_os_ns_strides_vec) |
| static auto | MakeB1GridDescriptor_N_K (const std::vector< index_t > &b1_gs_os_ns_lengths_vec, const std::vector< index_t > &b1_gs_os_ns_strides_vec) |
| template<typename B1GridDesc_N_K, typename Number> | |
| __host__ static __device__ constexpr auto | MakeB1GridDescriptor_BK0_N_BK1 (const B1GridDesc_N_K &b1_grid_desc_n_k, const Number &B1K1) |
| static auto | MakeCGridDescriptorPair (const std::vector< index_t > &c_gs_ms_os_lengths_vec, const std::vector< index_t > &c_gs_ms_os_strides_vec) |
| static auto | MakeCGridDescriptor_G_M_N (const std::vector< index_t > &c_gs_ms_os_lengths_vec, const std::vector< index_t > &c_gs_ms_os_strides_vec) |
| static auto | MakeCGridDescriptor_M_N (const std::vector< index_t > &c_gs_ms_os_lengths_vec, const std::vector< index_t > &c_gs_ms_os_strides_vec) |
Static Public Attributes | |
| 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 index_t | NumDimG = NumDims_G_M_N_K_O::At(I0) |
| static constexpr index_t | NumDimM = NumDims_G_M_N_K_O::At(I1) |
| static constexpr index_t | NumDimN = NumDims_G_M_N_K_O::At(I2) |
| static constexpr index_t | NumDimK = NumDims_G_M_N_K_O::At(I3) |
| static constexpr index_t | NumDimO = NumDims_G_M_N_K_O::At(I4) |
| static constexpr index_t | MPerBlock = PerBlock_M_N_K_O::At(I0) |
| static constexpr index_t | NPerBlock = PerBlock_M_N_K_O::At(I1) |
| static constexpr index_t | KPerBlock = PerBlock_M_N_K_O::At(I2) |
| static constexpr index_t | OPerBlock = PerBlock_M_N_K_O::At(I3) |
| static constexpr auto | matrix_padder |
Member Function Documentation
◆ MakeAGridDescriptor_AK0_M_AK1()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
template<typename AGridDesc_M_K, typename Number>
|
inlinestaticconstexpr |
◆ MakeAGridDescriptor_G_M_K()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeAGridDescriptor_M_K()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeAGridDescriptorPair()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeB0GridDescriptor_BK0_N_BK1()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
template<typename BGridDesc_N_K, typename Number>
|
inlinestaticconstexpr |
◆ MakeB0GridDescriptor_G_N_K()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeB0GridDescriptor_N_K()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeB0GridDescriptorPair()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeB1GridDescriptor_BK0_N_BK1()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
template<typename B1GridDesc_N_K, typename Number>
|
inlinestaticconstexpr |
◆ MakeB1GridDescriptor_G_N_K()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeB1GridDescriptor_N_K()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeB1GridDescriptorPair()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeCGridDescriptor_G_M_N()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeCGridDescriptor_M_N()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
◆ MakeCGridDescriptorPair()
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
inlinestatic |
Member Data Documentation
◆ I0
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ I1
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ I2
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ I3
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ I4
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ KPerBlock
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ matrix_padder
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
Initial value:
=
static constexpr index_t NPerBlock
Definition transform_contraction_to_gemm.hpp:135
static constexpr index_t MPerBlock
Definition transform_contraction_to_gemm.hpp:134
static constexpr index_t OPerBlock
Definition transform_contraction_to_gemm.hpp:137
static constexpr index_t KPerBlock
Definition transform_contraction_to_gemm.hpp:136
Definition matrix_padder.hpp:63
◆ MPerBlock
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ NPerBlock
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ NumDimG
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ NumDimK
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ NumDimM
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ NumDimN
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ NumDimO
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
◆ OPerBlock
template<typename NumDims_G_M_N_K_O, typename PerBlock_M_N_K_O, device::GemmSpecialization GemmSpec, device::TensorSpecialization ASpec, device::TensorSpecialization B0Spec, device::TensorSpecialization B1Spec, device::TensorSpecialization CSpec>
|
staticconstexpr |
The documentation for this struct was generated from the following file: