/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/gemm/block/block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/gemm/block/block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp Source File#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/gemm/block/block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp Source File
block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp
Go to the documentation of this file.
1 // SPDX-License-Identifier: MIT
2 // Copyright (c) 2018-2024, Advanced Micro Devices, Inc. All rights reserved.
3 
4 #pragma once
5 
6 #include "ck_tile/core.hpp"
7 
8 namespace ck_tile {
9 
10 // Default policy for BlockGemmASmemBSmemCRegV1
11 // Default policy class should not be templated, put template on member functions instead
12 template <typename AType_,
13  typename BType_,
14  typename CType_,
15  typename BlockWarps_,
16  typename WarpGemm_>
18 {
22 
24 
25  static constexpr index_t kMWarps = BlockWarps::at(number<0>{});
26  static constexpr index_t kNWarps = BlockWarps::at(number<1>{});
27  static constexpr index_t kKWarps = BlockWarps::at(number<2>{});
28 
30 
31  template <typename Problem>
33  {
34  return make_tuple(WarpGemm{}, kMWarps, kNWarps);
35  }
36 };
37 
38 } // namespace ck_tile
#define CK_TILE_HOST_DEVICE
Definition: config.hpp:41
Definition: cluster_descriptor.hpp:13
int32_t index_t
Definition: integer.hpp:9
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition: type_traits.hpp:20
constexpr CK_TILE_HOST_DEVICE auto make_tuple(Xs &&... xs)
Definition: tuple.hpp:337
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:18
static constexpr index_t kKWarps
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:27
remove_cvref_t< BType_ > BType
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:20
remove_cvref_t< BlockWarps_ > BlockWarps
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:23
remove_cvref_t< AType_ > AType
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:19
static constexpr index_t kMWarps
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:25
remove_cvref_t< CType_ > CType
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:21
static constexpr index_t kNWarps
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:26
remove_cvref_t< WarpGemm_ > WarpGemm
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:29
static constexpr CK_TILE_HOST_DEVICE auto GetWarpGemmMWarpNWarp()
Definition: block_gemm_asmem_bsmem_creg_v1_custom_policy.hpp:32
Definition: integral_constant.hpp:13