gridwise_gemm_xdlops_skip_b_lds_v1.hpp Source File#
gridwise_gemm_xdlops_skip_b_lds_v1.hpp
Go to the documentation of this file.
494 xdlops_gemm.K0PerXdlops, K0PerThread, HasMainK0BlockLoop, b_grid_desc_k0_k1_k2_n0_n1_n2_n3_k3.GetLength(I0));
__host__ __device__ constexpr auto integer_least_multiple(X x, Y y)
Definition utility/math.hpp:78
Definition ck.hpp:268
__host__ __device__ constexpr auto make_multi_index(Xs &&... xs)
Definition array_multi_index.hpp:15
__host__ __device__ constexpr auto make_pass_through_transform(const LowLength &low_length)
Definition multi_index_transform_helper.hpp:12
__host__ __device__ constexpr auto chain_tensor_adaptors(const TensorAdaptor0 &adaptor0, const TensorAdaptor1 &adaptor1)
Definition tensor_description/tensor_adaptor.hpp:245
__host__ __device__ constexpr auto make_naive_tensor_descriptor(const Tuple< Lengths... > &lengths, const Tuple< Strides... > &strides)
Definition tensor_descriptor_helper.hpp:49
__host__ __device__ constexpr auto make_single_stage_tensor_adaptor(const Transforms &transforms, LowerDimensionOldTopIdss, UpperDimensionNewTopIdss)
Definition tensor_description/tensor_adaptor.hpp:425
__host__ __device__ constexpr auto make_merge_transform(const LowLengths &low_lengths)
Definition multi_index_transform_helper.hpp:55
__global__ void kernel_gemm_xdlops_skip_b_lds_v1(const FloatAB *__restrict__ p_a_grid, const FloatAB *__restrict__ p_b_grid, FloatC *__restrict__ p_c_grid, const AGridDesc_K0_M_K1 a_grid_desc_k0_m_k1, const BGridDesc_K0_N_K1 b_grid_desc_k0_n_k1, const CGridDesc_M_N c_grid_desc_m_n, const AElementwiseOperation a_element_op, const BElementwiseOperation b_element_op, const CElementwiseOperation c_element_op, const Block2CTileMap block_2_ctile_map)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:34
__host__ __device__ constexpr auto make_naive_tensor_descriptor_aligned(const Tuple< Lengths... > &lengths, Align align)
Definition tensor_descriptor_helper.hpp:132
__host__ __device__ constexpr auto generate_tuple(F &&f, Number< N >)
Definition tuple_helper.hpp:21
__host__ __device__ constexpr auto make_naive_tensor_descriptor_packed(const Tuple< Lengths... > &lengths)
Definition tensor_descriptor_helper.hpp:101
__host__ __device__ constexpr auto make_tuple(Xs &&... xs)
Definition utility/tuple.hpp:211
__host__ __device__ constexpr auto transform_tensor_descriptor(const OldTensorDescriptor &old_tensor_desc, const NewTransforms &new_transforms, NewLowerDimensionOldVisibleIdss, NewUpperDimensionNewVisibleIdss)
Definition tensor_description/tensor_descriptor.hpp:319
__host__ __device__ constexpr auto make_unmerge_transform(const UpLengths &up_lengths, integral_constant< bool, Use24BitIntegerCalculation >=integral_constant< bool, false >{})
Definition multi_index_transform_helper.hpp:90
__host__ __device__ constexpr auto make_dynamic_buffer(T *p, ElementSpaceSize element_space_size)
Definition dynamic_buffer.hpp:472
Definition blockwise_gemm_xdlops_skip_b_lds.hpp:27
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:117
static __device__ void Run(const ADataType *__restrict__ p_a_grid, const ADataType *__restrict__ p_b_grid, CDataType *__restrict__ p_c_grid, void *__restrict__ p_shared, const AGridDesc_K0_M_K1 &a_grid_desc_k0_m_k1, const BGridDesc_K0_K1_K2_N0_N1_N2_N3_K3 &b_grid_desc_k0_k1_k2_n0_n1_n2_n3_k3, const CGridDesc_M0_N0_M1_N1_M2_M3_M4_N2 &c_grid_desc_m0_n0_m1_n1_m2_m3_m4_n2, const AElementwiseOperation &a_element_op, const BElementwiseOperation &b_element_op, const CElementwiseOperation &c_element_op, const Block2CTileMap &block_2_ctile_map)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:389
static __device__ auto GetWaveIdx()
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:275
__host__ static __device__ constexpr auto GetABlockDescriptor_K0PerBlock_MPerBlock_K1()
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:139
decltype(MakeDefaultBlock2CTileMap(CGridDesc_M_N{}, 1, 1)) DefaultBlock2CTileMap
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:382
__host__ static __device__ constexpr auto MakeBGridDescriptor_K0_K1_K2_N0_N1_N2_N3_K3(const BGridDesc_K0_N_K1 &b_grid_desc_k0_n_k1)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:258
__host__ static __device__ constexpr auto MakeDefaultBlock2CTileMap(const CGridDesc_M_N &c_grid_desc_m_n, index_t M01, index_t N01)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:348
static constexpr index_t K0PerThread
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:135
__host__ static __device__ constexpr index_t CalculateGridSize(const CGridDesc_M_N &c_grid_desc_m_n)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:239
__host__ static __device__ constexpr index_t GetSharedMemoryNumberOfByte()
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:162
static __device__ auto GetWaveKNIdx(const index_t thread_id)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:287
__host__ static __device__ constexpr auto MakeCGridDescriptor_M0_N0_M1_N1_M2_M3_M4_N2(const CGridDesc_M_N &c_grid_desc_m_n)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:298
__host__ static __device__ constexpr bool CheckValidity(const AGridDesc_K0_M_K1 &a_grid_desc_k0_m_k1, const BGridDesc_K0_N_K1 &b_grid_desc_k0_n_k1, const CGridDesc_M_N &c_grid_desc_m_n, index_t M01, index_t N01)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:192
static __device__ bool constexpr IsValidCompilationParameter()
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:177
ThisThreadBlock< BlockSize > ThisThreadBlock
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:137
__host__ static __device__ constexpr bool CalculateHasMainK0BlockLoop(index_t K0)
Definition gridwise_gemm_xdlops_skip_b_lds_v1.hpp:250
Definition utility/sequence.hpp:43
Definition static_buffer.hpp:16
Blockwise data transfer.
Definition thread_group_tensor_slice_transfer_v4r1.hpp:46
Definition threadwise_tensor_slice_transfer.hpp:39
Helper structure that facilitates transfer of source (grid) data to destination threads.
Definition threadwise_tensor_slice_transfer.hpp:234
Definition xdlops_gemm.hpp:1821
Definition is_known_at_compile_time.hpp:14
Definition functional2.hpp:33
Definition tensor_operation/gpu/element/unary_element_wise_operation.hpp:340