mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-02 04:31:25 +00:00
Add Tile Distribution Encoding Register Mapping debug utility for MFMA / WMMA unification work. (#4804) ## Motivation This PR adds a small utility that allows you to use Tile Distribution Encodings to directly map matrix elements to register locations and vice versa. It can also print forward and backward layout mappings similar to the Matrix Calculator utility. The utility is not meant for index calculations in actual kernels, but rather as a debugging tool and probably for automated verification of the policy structs in the new WMMA / MFMA unification design. ## Technical Details Tile Distribution Encodings are a core part of CK Tile which can define the relationship between register and intrinsic matrix fragment elements. They allow for any mapping based on unmerge and merge transformations. Also, they allow for a special "Repeat" dimensions which acts like an additional matrix dimension and allows for replication of certain matrix elements. The new mapping utility can deal with all aspects. ## Test Plan Since this is a debug utility there is nothing to directly test, but there is an example file that defines four different Tile Distribution Encodings and prints their forward and backward mappings, along with some extra parameters. ## Test Result ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
36 lines
1.0 KiB
CMake
36 lines
1.0 KiB
CMake
# Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
include_directories(AFTER
|
|
${CMAKE_CURRENT_LIST_DIR}
|
|
)
|
|
|
|
add_subdirectory(01_fmha)
|
|
add_subdirectory(02_layernorm2d)
|
|
add_subdirectory(03_gemm)
|
|
add_subdirectory(04_img2col)
|
|
add_subdirectory(05_reduce)
|
|
add_subdirectory(06_permute)
|
|
add_subdirectory(09_topk_softmax)
|
|
add_subdirectory(10_rmsnorm2d)
|
|
add_subdirectory(11_add_rmsnorm2d_rdquant)
|
|
add_subdirectory(12_smoothquant)
|
|
add_subdirectory(13_moe_sorting)
|
|
add_subdirectory(14_moe_smoothquant)
|
|
add_subdirectory(15_fused_moe)
|
|
add_subdirectory(16_batched_gemm)
|
|
add_subdirectory(17_grouped_gemm)
|
|
add_subdirectory(18_flatmm)
|
|
add_subdirectory(19_gemm_multi_d)
|
|
add_subdirectory(20_grouped_convolution)
|
|
add_subdirectory(21_elementwise)
|
|
add_subdirectory(22_gemm_multi_abd)
|
|
add_subdirectory(35_batched_transpose)
|
|
add_subdirectory(36_pooling)
|
|
add_subdirectory(38_block_scale_gemm)
|
|
add_subdirectory(40_streamk_gemm)
|
|
add_subdirectory(41_batched_contraction)
|
|
add_subdirectory(50_sparse_attn)
|
|
add_subdirectory(51_tile_distr_enc_reg_map)
|
|
|