tile_gemm_traits.hpp Source File

tile_gemm_traits.hpp Source File#

Composable Kernel: tile_gemm_traits.hpp Source File
tile_gemm_traits.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2024-2025, Advanced Micro Devices, Inc. All rights reserved.
3
4#pragma once
5
6#include "ck_tile/core.hpp"
7
8namespace ck_tile {
9
10template <bool kPadM_,
11 bool kPadN_,
12 bool kPadK_,
13 typename AsLayout_,
14 typename BsLayout_,
15 typename CLayout_,
16 index_t NumWaveGroups_ = 1>
18{
19 static constexpr bool kPadM = kPadM_;
20 static constexpr bool kPadN = kPadN_;
21 static constexpr bool kPadK = kPadK_;
22
23 // TODO this can't be hardcoded here! Should be in policy!
24 static constexpr int _VectorSize = 16;
25
26 using AsLayout = AsLayout_;
27 using BsLayout = BsLayout_;
28 using CLayout = CLayout_;
29
30 static constexpr bool TransposeC = false;
31 static constexpr bool UseStructuredSparsity = false;
32 static constexpr index_t NumWaveGroups = NumWaveGroups_;
33};
34
35template <bool kPadM_,
36 bool kPadN_,
37 bool kPadK_,
38 bool DoubleSmemBuffer_,
39 typename AsLayout_,
40 typename BsLayout_,
41 typename CLayout_,
42 bool TransposeC_ = false,
43 bool UseStructuredSparsity_ = false,
44 bool UsePersistentKernel_ = false,
45 index_t NumWaveGroups_ = 1,
46 bool Preshuffle_ = false>
48{
49 static constexpr bool kPadM = kPadM_;
50 static constexpr bool kPadN = kPadN_;
51 static constexpr bool kPadK = kPadK_;
52 static constexpr int _VectorSize = 16;
53 static constexpr bool DoubleSmemBuffer = DoubleSmemBuffer_;
54
55 using AsLayout = AsLayout_;
56 using BsLayout = BsLayout_;
57 using CLayout = CLayout_;
58
59 static constexpr bool TransposeC = TransposeC_;
60 static constexpr bool UseStructuredSparsity = UseStructuredSparsity_;
61 static constexpr bool UsePersistentKernel = UsePersistentKernel_;
62 static constexpr index_t NumWaveGroups = NumWaveGroups_;
63 static constexpr bool Preshuffle = Preshuffle_;
64};
65
66template <bool kPadM_,
67 bool kPadN_,
68 bool kPadK_,
69 bool DoubleSmemBuffer_,
70 typename AsLayout_,
71 typename BsLayout_,
72 typename CLayout_,
73 bool TransposeC_ = false,
74 bool UseStructuredSparsity_ = false>
76 kPadN_,
77 kPadK_,
78 DoubleSmemBuffer_,
79 AsLayout_,
80 BsLayout_,
81 CLayout_,
82 TransposeC_,
83 UseStructuredSparsity_,
84 true>;
85
86} // namespace ck_tile
Definition tile/core/algorithm/cluster_descriptor.hpp:13
TileGemmUniversalTraits< kPadM_, kPadN_, kPadK_, DoubleSmemBuffer_, AsLayout_, BsLayout_, CLayout_, TransposeC_, UseStructuredSparsity_, true > PersistentTileGemmUniversalTraits
Definition tile_gemm_traits.hpp:75
int32_t index_t
Definition integer.hpp:9
Definition tile_gemm_traits.hpp:18
CLayout_ CLayout
Definition tile_gemm_traits.hpp:28
AsLayout_ AsLayout
Definition tile_gemm_traits.hpp:26
BsLayout_ BsLayout
Definition tile_gemm_traits.hpp:27
Definition tile_gemm_traits.hpp:48
CLayout_ CLayout
Definition tile_gemm_traits.hpp:57
BsLayout_ BsLayout
Definition tile_gemm_traits.hpp:56
AsLayout_ AsLayout
Definition tile_gemm_traits.hpp:55