gridwise_gemm_xdl_waveletmodel_cshuffle.hpp Source File#
gridwise_gemm_xdl_waveletmodel_cshuffle.hpp
Go to the documentation of this file.
331 __host__ __device__ static constexpr auto MakeEGridDescriptor_MBlock_MPerBlock_NBlock_NPerBlock(
__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_freeze_transform(const LowerIndex &low_idx)
Definition multi_index_transform_helper.hpp:151
__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_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_smfmac_xdlops.hpp:44
__host__ __device__ constexpr auto & GetCThreadBuffer()
Definition blockwise_gemm_smfmac_xdlops.hpp:78
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:83
static __device__ index_t GetThreadId()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:91
static __device__ constexpr bool IsBelong()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:86
static __device__ constexpr index_t GetNumOfThread()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:84
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:98
static __device__ index_t GetThreadId()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:106
static __device__ constexpr index_t GetNumOfThread()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:99
static __device__ constexpr bool IsBelong()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:101
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:64
__host__ static __device__ constexpr auto MakeDefaultBlock2ETileMap(const EGridDesc_M_N &e_grid_desc_m_n)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:252
__host__ static __device__ constexpr bool CheckValidity(const AGridDesc_M_K &a_grid_desc_m_k, const BGridDesc_N_K &b_grid_desc_n_k, const EGridDesc_M_N &e_grid_desc_m_n, const Block2ETileMap &)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:194
GridwiseGemmLoadWave< TileLoadThreadGroup, NumGemmKPrefetchStage > GridwiseGemmLoad
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:113
__host__ static __device__ constexpr auto GetCShuffleBlockDescriptor_MBlock_MPerBlock_NBlock_NPerBlock()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:133
__host__ static __device__ constexpr index_t GetSharedMemoryNumberOfByte()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:148
__host__ static __device__ constexpr auto MakeDefaultBGridDescriptor_BK0_N_BK1(const BGridDesc_N_K &b_grid_desc_n_k)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:315
remove_cvref_t< decltype(MakeDefaultBlock2ETileMap(EGridDesc_M_N{}))> DefaultBlock2ETileMap
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:354
__host__ static __device__ constexpr auto MakeDefaultAGridDescriptor_AK0_M_AK1(const AGridDesc_M_K &a_grid_desc_m_k)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:299
ThisThreadBlock< TileMathThreadGroupSize > CShuffleBlockTransferThreadGroup
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:109
remove_cvref_t< decltype(MakeEGridDescriptor_MBlock_MPerBlock_NBlock_NPerBlock(EGridDesc_M_N{}))> EGridDescriptor_MBlock_MPerBlock_NBlock_NPerBlock
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:350
static __device__ void Run(const ADataType *__restrict__ p_a_grid, const ADataType *__restrict__ p_b_grid, EDataType *__restrict__ p_e_grid, void *__restrict__ p_shared, const AElementwiseOperation &a_element_op, const BElementwiseOperation &b_element_op, const CDEElementwiseOperation &e_element_op, const AGridDesc_AK0_M_AK1 &a_grid_desc_ak0_m_ak1, const BGridDesc_BK0_N_BK1 &b_grid_desc_bk0_n_bk1, const EGridDescriptor_MBlock_MPerBlock_NBlock_NPerBlock &e_grid_desc_mblock_mperblock_nblock_nperblock, const Block2ETileMap &block_2_etile_map)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:361
__host__ static __device__ constexpr auto GetBBlockDescriptor_BK0PerBlock_NPerBlock_BK1()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:124
__host__ static __device__ constexpr auto GetABlockDescriptor_AK0PerBlock_MPerBlock_AK1()
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:116
__host__ static __device__ constexpr index_t CalculateGridSize(const EGridDesc_M_N &e_grid_desc_m_n)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:287
GridwiseGemmMathWave< TileMathThreadGroup, NumGemmKPrefetchStage > GridwiseGemmMath
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:114
__host__ static __device__ constexpr bool CalculateHasMainKBlockLoop(index_t K)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:243
__host__ static __device__ constexpr auto MakeEGridDescriptor_MBlock_MPerBlock_NBlock_NPerBlock(const EGridDescriptor_M_N &e_grid_desc_m_n)
Definition gridwise_gemm_xdl_waveletmodel_cshuffle.hpp:331
Definition gridwise_gemm_waveletmodel.hpp:11
Definition gridwise_gemm_waveletmodel.hpp:103
Selects the appropriate MFMA instruction type and configuration for given data types and tile sizes o...
Definition xdlops_gemm.hpp:1208
Definition utility/sequence.hpp:43
Definition tensor_space_filling_curve.hpp:20
Definition thread_group.hpp:12
Blockwise data transfer.
Definition thread_group_tensor_slice_transfer_v4r1.hpp:46
Definition thread_group_tensor_slice_transfer_v6r1.hpp:34
Definition threadwise_tensor_slice_transfer.hpp:39
Definition functional2.hpp:33
Definition tensor_operation/gpu/element/unary_element_wise_operation.hpp:340