/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/batched_transpose/pipeline/batched_transpose_common_policy.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/batched_transpose/pipeline/batched_transpose_common_policy.hpp Source File#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/batched_transpose/pipeline/batched_transpose_common_policy.hpp Source File
batched_transpose_common_policy.hpp
Go to the documentation of this file.
1 // SPDX-License-Identifier: MIT
2 // Copyright (c) Advanced Micro Devices, Inc. All rights reserved.
3 
4 #pragma once
5 
6 #include "ck_tile/core.hpp"
7 
8 namespace ck_tile {
9 
11 {
12  CK_TILE_DEVICE static constexpr auto TileAccessPattern =
14 
15  template <typename Problem>
16  CK_TILE_DEVICE static constexpr auto MakeInputDistribution()
17  {
18  constexpr index_t kBlockSize = Problem::kBlockSize;
19  constexpr index_t kLeadDimPerBlock = Problem::kNPerBlock;
20  constexpr index_t kSecondDimPerBlock = Problem::kMPerBlock;
21 
22  constexpr index_t kVectorSize = Problem::VectorSizeInput;
23  static_assert((kLeadDimPerBlock * kVectorSize) % kBlockSize == 0, "");
24  using TileEncodingPattern = tile_distribution_encoding_pattern_2d<kBlockSize,
25  kSecondDimPerBlock,
26  kLeadDimPerBlock,
27  kVectorSize,
29  return TileEncodingPattern::make_2d_static_tile_distribution();
30  }
31 };
32 
33 } // namespace ck_tile
#define CK_TILE_DEVICE
Definition: config.hpp:41
Definition: cluster_descriptor.hpp:13
int32_t index_t
Definition: integer.hpp:9
@ thread_raked
Thread raked pattern.
Definition: batched_transpose_common_policy.hpp:11
static constexpr CK_TILE_DEVICE auto MakeInputDistribution()
Definition: batched_transpose_common_policy.hpp:16
static constexpr CK_TILE_DEVICE auto TileAccessPattern
Definition: batched_transpose_common_policy.hpp:12
Class creating 2D static tile distribution with different load/store patterns.
Definition: static_encoding_pattern.hpp:130