/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/gemm_quant/block/block_gemm_quant_common.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/gemm_quant/block/block_gemm_quant_common.hpp Source File#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/gemm_quant/block/block_gemm_quant_common.hpp Source File
block_gemm_quant_common.hpp
Go to the documentation of this file.
1 // Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
2 // SPDX-License-Identifier: MIT
3 
4 #pragma once
5 
6 #include "ck_tile/core.hpp"
7 
8 namespace ck_tile {
9 
10 // Common utilities for quantized GEMM block operations
11 template <typename CDataType,
12  typename WarpGemmType,
13  index_t MIterPerWarp,
14  index_t MWarp,
15  index_t NIterPerWarp,
16  index_t NWarp>
18 {
19  CK_TILE_DEVICE static constexpr auto MakeCBlockTile()
20  {
21  constexpr auto c_block_outer_dstr_encoding = tile_distribution_encoding<
22  sequence<>,
27  sequence<0, 0>>{};
28 
29  constexpr auto c_block_dstr_encode = detail::make_embed_tile_distribution_encoding(
30  c_block_outer_dstr_encoding, typename WarpGemmType::CWarpDstrEncoding{});
31  constexpr auto c_block_dstr = make_static_tile_distribution(c_block_dstr_encode);
32  auto c_block_tensor = make_static_distributed_tensor<CDataType>(c_block_dstr);
33 
34  return c_block_tensor;
35  }
36 };
37 
38 } // namespace ck_tile
#define CK_TILE_DEVICE
Definition: config.hpp:45
constexpr CK_TILE_HOST_DEVICE auto make_embed_tile_distribution_encoding(OuterDstr, InnerDstr)
Definition: tile_distribution_encoding.hpp:457
Definition: cluster_descriptor.hpp:13
int32_t index_t
Definition: integer.hpp:9
constexpr CK_TILE_HOST_DEVICE auto make_static_tile_distribution(StaticTileDistributionEncoding_)
Definition: tile_distribution.hpp:495
Definition: block_gemm_quant_common.hpp:18
static constexpr CK_TILE_DEVICE auto MakeCBlockTile()
Definition: block_gemm_quant_common.hpp:19
Definition: sequence.hpp:49
Definition: tile_distribution_encoding.hpp:26
Definition: tuple.hpp:192