[CK_TILE] Add 2:4 structured sparsity support for fp16 gemm (#1957)

* add structured sparsity fp16 support for gemm

* added reviewer suggestions

* update changelog

* update changelog

* add reviewers suggestions

* Minor fix

* clang fix

* fix doxygen
This commit is contained in:
jakpiase
2025-04-11 12:18:26 +02:00
committed by GitHub
parent 5f885d2b7a
commit 6c61f4d237
13 changed files with 401 additions and 20 deletions

View File

@@ -194,7 +194,8 @@ struct UniversalGemmPipelineProblem
static constexpr auto HasHotLoop = HasHotLoop_;
static constexpr auto TailNum = TailNum_;
static constexpr bool TransposeC = Traits::TransposeC;
static constexpr bool TransposeC = Traits::TransposeC;
static constexpr bool UseStructuredSparsity = Traits::UseStructuredSparsity;
};
} // namespace ck_tile

View File

@@ -580,7 +580,9 @@ struct UniversalGemmPipelineAgBgCrPolicy
WarpTile::at(I0),
WarpTile::at(I1),
WarpTile::at(I2),
Problem::TransposeC>;
Problem::TransposeC,
false,
Problem::UseStructuredSparsity>;
using BlockGemmPolicy = BlockGemmASmemBSmemCRegV1CustomPolicy<typename Problem::ADataType,
typename Problem::BDataType,
typename Problem::CDataType,

View File

@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2024-2025, Advanced Micro Devices, Inc. All rights reserved.
#pragma once
@@ -36,7 +36,8 @@ template <bool kPadM_,
typename ALayout_,
typename BLayout_,
typename CLayout_,
bool TransposeC_ = false>
bool TransposeC_ = false,
bool UseStructuredSparsity_ = false>
struct TileGemmUniversalTraits
{
static constexpr bool kPadM = kPadM_;
@@ -49,7 +50,8 @@ struct TileGemmUniversalTraits
using BLayout = BLayout_;
using CLayout = CLayout_;
static constexpr bool TransposeC = TransposeC_;
static constexpr bool TransposeC = TransposeC_;
static constexpr bool UseStructuredSparsity = UseStructuredSparsity_;
};
} // namespace ck_tile