gridwise_gemm_xdlops_v2r4.hpp Source File#
gridwise_gemm_xdlops_v2r4.hpp
Go to the documentation of this file.
__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_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
__global__ void kernel_gemm_xdlops_v2r4(const FloatAB *__restrict__ p_a_grid, const FloatAB *__restrict__ p_b_grid, FloatC *__restrict__ p_c_grid, const ABK0MK1GridDesc a_b_k0_m_k1_grid_desc, const BBK0NK1GridDesc b_b_k0_n_k1_grid_desc, const CM0N0M1N1M2M3M4N2GridDesc c_m0_n0_m1_n1_m2_m3_m4_n2_grid_desc, const AElementwiseOperation a_element_op, const BElementwiseOperation b_element_op, const CElementwiseOperation c_element_op, const CBlockClusterAdaptor c_block_cluster_adaptor)
Definition gridwise_gemm_xdlops_v2r4.hpp:34
__host__ __device__ constexpr auto make_merge_transform(const LowLengths &low_lengths)
Definition multi_index_transform_helper.hpp:55
__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 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 make_dynamic_buffer(T *p, ElementSpaceSize element_space_size)
Definition dynamic_buffer.hpp:472
Definition block_to_ctile_map.hpp:541
Definition blockwise_gemm_smfmac_xdlops.hpp:44
Definition gridwise_gemm_xdlops_v2r4.hpp:119
__host__ static __device__ constexpr bool CheckValidity(const ABK0MK1GridDesc &a_b_k0_m_k1_grid_desc, const BBK0NK1GridDesc &b_b_k0_n_k1_grid_desc, const CMNGridDesc &c_m_n_grid_desc, const Block2CTileMap &block_2_ctile_map)
Definition gridwise_gemm_xdlops_v2r4.hpp:197
static constexpr auto I3
Definition gridwise_gemm_xdlops_v2r4.hpp:123
__host__ static __device__ constexpr bool CalculateHasMainK0BlockLoop(index_t K0)
Definition gridwise_gemm_xdlops_v2r4.hpp:233
ThisThreadBlock< BlockSize > ThisThreadBlock
Definition gridwise_gemm_xdlops_v2r4.hpp:132
__host__ static __device__ constexpr auto MakeCBlockClusterAdaptor(const CMNGridDesc &c_m_n_grid_desc, index_t, index_t, index_t KBatch)
Definition gridwise_gemm_xdlops_v2r4.hpp:291
static constexpr auto I6
Definition gridwise_gemm_xdlops_v2r4.hpp:126
static constexpr auto K1
Definition gridwise_gemm_xdlops_v2r4.hpp:130
static constexpr auto I5
Definition gridwise_gemm_xdlops_v2r4.hpp:125
__host__ static __device__ constexpr auto MakeCM0N0M1N1M2M3M4N2GridDescriptor(const CMNGridDesc &c_m_n_grid_desc)
Definition gridwise_gemm_xdlops_v2r4.hpp:241
static constexpr auto I7
Definition gridwise_gemm_xdlops_v2r4.hpp:127
static __device__ bool constexpr IsValidCompilationParameter()
Definition gridwise_gemm_xdlops_v2r4.hpp:180
static __device__ void Run(const FloatAB *__restrict__ p_a_grid, const FloatAB *__restrict__ p_b_grid, FloatC *__restrict__ p_c_grid, FloatAB *__restrict__ p_shared_block, const ABK0MK1GridDesc &a_b_k0_m_k1_grid_desc, const BBK0NK1GridDesc &b_b_k0_n_k1_grid_desc, const CM0N0M1N1M2M3M4N2GridDesc &c_m0_n0_m1_n1_m2_m3_m4_n2_grid_desc, const AElementwiseOperation &a_element_op, const BElementwiseOperation &b_element_op, const CElementwiseOperation &c_element_op, const CBlockClusterAdaptor &c_block_cluster_adaptor)
Definition gridwise_gemm_xdlops_v2r4.hpp:302
static constexpr auto I4
Definition gridwise_gemm_xdlops_v2r4.hpp:124
decltype(MakeCBlockClusterAdaptor(CMNGridDesc{}, 1, 1, 1)) CBlockClusterAdaptor
Definition gridwise_gemm_xdlops_v2r4.hpp:299
static constexpr auto I1
Definition gridwise_gemm_xdlops_v2r4.hpp:121
static constexpr auto I0
Definition gridwise_gemm_xdlops_v2r4.hpp:120
static constexpr auto I2
Definition gridwise_gemm_xdlops_v2r4.hpp:122
__host__ static __device__ constexpr index_t GetSharedMemoryNumberOfByte()
Definition gridwise_gemm_xdlops_v2r4.hpp:134
decltype(MakeCM0N0M1N1M2M3M4N2GridDescriptor(CMNGridDesc{})) CM0N0M1N1M2M3M4N2GridDesc
Definition gridwise_gemm_xdlops_v2r4.hpp:298
Definition utility/sequence.hpp:43
Blockwise data transfer.
Definition thread_group_tensor_slice_transfer_v4r1.hpp:46
__device__ void Run(const SrcDesc &src_desc, const SrcBuffer &src_buf, const DstDesc &dst_desc, DstBuffer &dst_buf, Number< ThreadScratchId > thread_scratch_id)
Definition thread_group_tensor_slice_transfer_v4r1.hpp:143
__device__ void RunRead(const SrcDesc &src_desc, const SrcBuffer &src_buf, Number< ThreadScratchId > thread_scratch_id=Number< ThreadScratchId >{})
Definition thread_group_tensor_slice_transfer_v4r1.hpp:119
__device__ void MoveSrcSliceWindow(const SrcDesc &src_desc, const Index &step)
Definition thread_group_tensor_slice_transfer_v4r1.hpp:153
__device__ void RunWrite(const DstDesc &dst_desc, DstBuffer &dst_buf, Number< ThreadScratchId > thread_scratch_id=Number< ThreadScratchId >{})
Definition thread_group_tensor_slice_transfer_v4r1.hpp:131
Definition threadwise_tensor_slice_transfer.hpp:39
Definition is_known_at_compile_time.hpp:14
Definition tensor_operation/gpu/element/unary_element_wise_operation.hpp:340