/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/operator_transform/transform_contraction_to_gemm_arraybase.hpp Source File#
transform_contraction_to_gemm_arraybase.hpp
Go to the documentation of this file.
20 MakeGridDescriptorPair(const std::array<index_t, NumDimG + NumDimM + NumDimN>& gs_ms_ns_lengths_vec,
TensorSpecialization
Definition: tensor_specialization.hpp:11
GemmSpecialization
Definition: gemm_specialization.hpp:11
__host__ __device__ multiplies() -> multiplies< void, void >
FIXME: create macro to replace 'host device' and nothing more.
Definition: ck.hpp:264
__host__ constexpr __device__ auto make_naive_tensor_descriptor(const Tuple< Lengths... > &lengths, const Tuple< Strides... > &strides)
Definition: tensor_descriptor_helper.hpp:49
__host__ constexpr __device__ auto generate_tuple(F &&f, Number< N >)
Definition: tuple_helper.hpp:15
__host__ constexpr __device__ auto make_merge_transform(const LowLengths &low_lengths)
Definition: multi_index_transform_helper.hpp:55
__host__ constexpr __device__ auto make_pass_through_transform(const LowLength &low_length)
Definition: multi_index_transform_helper.hpp:12
__host__ constexpr __device__ auto make_unmerge_transform(const UpLengths &up_lengths, integral_constant< bool, Use24BitIntegerCalculation >=integral_constant< bool, false >{})
Definition: multi_index_transform_helper.hpp:90
__host__ constexpr __device__ auto container_reduce(const Container &x, Reduce reduce, Init init, Number< IBegin >=Number< 0 >{}, Number< IEnd >=Number< Container::Size()>{}, Number< IStep >=Number< 1 >{})
Definition: container_helper.hpp:111
__host__ constexpr __device__ auto transform_tensor_descriptor(const OldTensorDescriptor &old_tensor_desc, const NewTransforms &new_transforms, NewLowerDimensionOldVisibleIdss, NewUpperDimensionNewVisibleIdss)
Definition: tensor_descriptor.hpp:319
__host__ constexpr __device__ auto get_container_subset(const Array< T, N > &arr, Sequence< Is... >)
Definition: container_helper.hpp:346
Definition: sequence.hpp:43
typename conditional< kHasContent, type0, type1 >::type type
Definition: sequence.hpp:256
Definition: integral_constant.hpp:10
Definition: transform_contraction_to_gemm_arraybase.hpp:122
static constexpr auto I1
Definition: transform_contraction_to_gemm_arraybase.hpp:124
__host__ static __device__ auto MakeCGridDescriptorPair(const std::array< index_t, NumDimG+NumDimM+NumDimN > &c_gs_ms_os_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &c_gs_ms_os_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:366
static constexpr index_t KPerBlock
Definition: transform_contraction_to_gemm_arraybase.hpp:137
__host__ static __device__ auto MakeCGridDescriptor_G_M_N(const std::array< index_t, NumDimG+NumDimM+NumDimN > &c_gs_ms_os_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &c_gs_ms_os_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:375
__host__ static __device__ auto MakeB1GridDescriptorPair(const std::array< index_t, NumDimG+NumDimM+NumDimN > &b1_gs_os_ns_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &b1_gs_os_ns_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:292
static constexpr index_t NPerBlock
Definition: transform_contraction_to_gemm_arraybase.hpp:136
__host__ static constexpr __device__ auto MakeAGridDescriptor_AKWmma_MBlockRepeat_MWaves_AK0PerWmma_AKRow_MPerWmma_AK1(const AGridDesc_M_K &a_grid_desc_m_k, const WmmaK &, const MRepeat &, const MWaves &, const MPerWmma &, const AK1 &)
Definition: transform_contraction_to_gemm_arraybase.hpp:193
static constexpr auto matrix_padder
Definition: transform_contraction_to_gemm_arraybase.hpp:140
static constexpr auto I3
Definition: transform_contraction_to_gemm_arraybase.hpp:126
static constexpr auto I2
Definition: transform_contraction_to_gemm_arraybase.hpp:125
__host__ static constexpr __device__ auto MakeB0GridDescriptor_BK0_N_BK1(const BGridDesc_N_K &b_grid_desc_n_k, const Number &BK1)
Definition: transform_contraction_to_gemm_arraybase.hpp:245
__host__ static __device__ auto MakeB1GridDescriptor_N_K(const std::array< index_t, NumDimG+NumDimM+NumDimN > &b1_gs_os_ns_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &b1_gs_os_ns_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:307
static constexpr index_t NumDimG
Definition: transform_contraction_to_gemm_arraybase.hpp:129
static constexpr index_t NumDimK
Definition: transform_contraction_to_gemm_arraybase.hpp:132
__host__ static constexpr __device__ auto MakeB1GridDescriptor_BK0_N_BK1(const B1GridDesc_N_K &b1_grid_desc_n_k, const Number &B1K1)
Definition: transform_contraction_to_gemm_arraybase.hpp:318
__host__ static __device__ auto MakeB1GridDescriptor_G_N_K(const std::array< index_t, NumDimG+NumDimM+NumDimN > &b1_gs_os_ns_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &b1_gs_os_ns_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:301
__host__ static __device__ auto MakeB0GridDescriptor_G_N_K(const std::array< index_t, NumDimG+NumDimM+NumDimN > &b0_gs_ns_ks_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &b0_gs_ns_ks_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:228
static constexpr index_t NumDimN
Definition: transform_contraction_to_gemm_arraybase.hpp:131
static constexpr index_t OPerBlock
Definition: transform_contraction_to_gemm_arraybase.hpp:138
__host__ static __device__ auto MakeB0GridDescriptorPair(const std::array< index_t, NumDimG+NumDimM+NumDimN > &b0_gs_ns_ks_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &b0_gs_ns_ks_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:219
static constexpr auto I0
Definition: transform_contraction_to_gemm_arraybase.hpp:123
static constexpr index_t NumDimM
Definition: transform_contraction_to_gemm_arraybase.hpp:130
__host__ static constexpr __device__ auto MakeAGridDescriptor_AK0_M_AK1(const AGridDesc_M_K &a_grid_desc_m_k, const Number &AK1)
Definition: transform_contraction_to_gemm_arraybase.hpp:172
__host__ static __device__ auto MakeAGridDescriptor_G_M_K(const std::array< index_t, NumDimG+NumDimM+NumDimN > &a_gs_ms_ks_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &a_gs_ms_ks_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:156
__host__ static constexpr __device__ auto MakeB1GridDescriptor_BLWmma_NBlockRepeat_NWaves__BL0PerWmma_BLRow_NPerWmma_BL1(const BGridDesc_N_L &b_grid_desc_n_l, const WmmaL &, const NRepeat &, const NWaves &, const NPerWmma &, const BL1 &)
Definition: transform_contraction_to_gemm_arraybase.hpp:340
static constexpr index_t MPerBlock
Definition: transform_contraction_to_gemm_arraybase.hpp:135
__host__ static constexpr __device__ auto MakeB0GridDescriptor_BKWmma_LBlockRepeat_LWaves_BK0PerWmma_BKRow_LPerWmma_BK1(const BGridDesc_L_K &b_grid_desc_l_k, const WmmaK &, const LRepeat &, const LWaves &, const LPerWmma &, const BK1 &)
Definition: transform_contraction_to_gemm_arraybase.hpp:266
__host__ static __device__ auto MakeCGridDescriptor_M_N(const std::array< index_t, NumDimG+NumDimM+NumDimN > &c_gs_ms_os_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &c_gs_ms_os_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:381
static constexpr auto I4
Definition: transform_contraction_to_gemm_arraybase.hpp:127
__host__ static __device__ auto MakeAGridDescriptor_M_K(const std::array< index_t, NumDimG+NumDimM+NumDimN > &a_gs_ms_ks_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &a_gs_ms_ks_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:162
__host__ static __device__ auto MakeAGridDescriptorPair(const std::array< index_t, NumDimG+NumDimM+NumDimN > &a_gs_ms_ks_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &a_gs_ms_ks_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:147
__host__ static __device__ auto MakeB0GridDescriptor_N_K(const std::array< index_t, NumDimG+NumDimM+NumDimN > &b0_gs_ns_ks_lengths_vec, const std::array< index_t, NumDimG+NumDimM+NumDimN > &b0_gs_ns_ks_strides_vec)
Definition: transform_contraction_to_gemm_arraybase.hpp:234
static constexpr index_t NumDimO
Definition: transform_contraction_to_gemm_arraybase.hpp:133
Definition: matrix_padder.hpp:63