From ff77d8da07e5dc66c4887fe1cbf785ede1c45769 Mon Sep 17 00:00:00 2001 From: Philip Maybank Date: Mon, 28 Jul 2025 15:22:46 -0400 Subject: [PATCH] tidy up after big rebase --- example/ck_tile/CMakeLists.txt | 1 + include/ck_tile/ops/gemm/warp/warp_gemm.hpp | 7 +++++++ include/ck_tile/ops/gemm/warp/warp_gemm_dispatcher.hpp | 1 + 3 files changed, 9 insertions(+) diff --git a/example/ck_tile/CMakeLists.txt b/example/ck_tile/CMakeLists.txt index 630b96ede0..c6fd78b934 100644 --- a/example/ck_tile/CMakeLists.txt +++ b/example/ck_tile/CMakeLists.txt @@ -23,3 +23,4 @@ add_subdirectory(20_grouped_convolution) add_subdirectory(21_elementwise) add_subdirectory(35_batched_transpose) add_subdirectory(38_block_scale_gemm) +add_subdirectory(99_toy_example) diff --git a/include/ck_tile/ops/gemm/warp/warp_gemm.hpp b/include/ck_tile/ops/gemm/warp/warp_gemm.hpp index 2e14051442..272426a0e6 100644 --- a/include/ck_tile/ops/gemm/warp/warp_gemm.hpp +++ b/include/ck_tile/ops/gemm/warp/warp_gemm.hpp @@ -21,6 +21,9 @@ using WarpGemmMfmaF16F16F32M32N32K8 = WarpGemmImpl< using WarpGemmMfmaF16F16F32M16N16K16 = WarpGemmImpl< WarpGemmAttributeMfma>>; +using WarpGemmWmmaF16F16F32M16N16K16 = WarpGemmImpl< + WarpGemmAttributeWmma>>; + #if defined(__gfx950__) template using WarpGemmMfmaF16F16F32M32N32K16 = WarpGemmImpl< @@ -63,6 +66,10 @@ using WarpGemmMfmaF16F16F32M16N16K16TransposedCDistribution = WarpGemmImpl>>; +using WarpGemmWmmaF16F16F32M16N16K16TransposedCDistribution = + WarpGemmImpl>>; + #if defined(__gfx950__) template using WarpGemmMfmaF16F16F32M32N32K16TransposedCDistribution = diff --git a/include/ck_tile/ops/gemm/warp/warp_gemm_dispatcher.hpp b/include/ck_tile/ops/gemm/warp/warp_gemm_dispatcher.hpp index 3c97750412..97e4916cd8 100644 --- a/include/ck_tile/ops/gemm/warp/warp_gemm_dispatcher.hpp +++ b/include/ck_tile/ops/gemm/warp/warp_gemm_dispatcher.hpp @@ -45,6 +45,7 @@ template<> struct WarpGemmMfmaDispatcher struct WarpGemmMfmaDispatcher { using Type = WarpGemmMfmaF16F16F32M16N16K16; }; template<> struct WarpGemmWmmaDispatcher { using Type = WarpGemmWmmaF16F16F32M16N16K16; }; template<> struct WarpGemmMfmaDispatcher { using Type = WarpGemmMfmaF16F16F32M16N16K16TransposedCDistribution; }; +template<> struct WarpGemmWmmaDispatcher { using Type = WarpGemmWmmaF16F16F32M16N16K16TransposedCDistribution; }; template<> struct WarpGemmMfmaDispatcher { using Type = WarpGemmMfmaF16F16F32M16N16K32<>; }; template<> struct WarpGemmMfmaDispatcher { using Type = WarpGemmMfmaF16F16F32M16N16K32TransposedCDistribution<>; }; template<> struct WarpGemmMfmaDispatcher {