/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/batched_transpose/pipeline/batched_transpose_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_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_policy.hpp Source File
batched_transpose_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"
8 
9 namespace ck_tile {
10 
12 {
13  template <typename Problem>
14  CK_TILE_DEVICE static constexpr auto MakeOutputDistribution()
15  {
16  constexpr index_t BlockSize = Problem::kBlockSize;
17  constexpr index_t MPerBlock = Problem::kMPerBlock;
18  constexpr index_t NPerBlock = Problem::kNPerBlock;
19  constexpr index_t VecLoadSize = Problem::VectorSizeOutput;
20 
21  using TileEncodingPattern = tile_distribution_encoding_pattern_2d<BlockSize,
22  MPerBlock,
23  NPerBlock,
24  VecLoadSize,
26  return TileEncodingPattern::make_shuffled_2d_static_tile_distribution();
27  }
28 };
29 } // namespace ck_tile
#define CK_TILE_DEVICE
Definition: config.hpp:41
Definition: cluster_descriptor.hpp:13
int32_t index_t
Definition: integer.hpp:9
Definition: batched_transpose_common_policy.hpp:11
static constexpr CK_TILE_DEVICE auto TileAccessPattern
Definition: batched_transpose_common_policy.hpp:12
Definition: batched_transpose_policy.hpp:12
static constexpr CK_TILE_DEVICE auto MakeOutputDistribution()
Definition: batched_transpose_policy.hpp:14
Class creating 2D static tile distribution with different load/store patterns.
Definition: static_encoding_pattern.hpp:130