/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/permute/pipeline/generic_petmute_problem.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/ops/permute/pipeline/generic_petmute_problem.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/permute/pipeline/generic_petmute_problem.hpp Source File
generic_petmute_problem.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 
7 
8 namespace ck_tile {
9 
10 template <typename DataType_,
11  index_t kBlockSize_ = 256,
12  index_t kMaxRanks_ = 8,
13  bool KeepLastDim_ = false>
15 {
17  static constexpr index_t kBlockSize = kBlockSize_;
18  static constexpr index_t kMaxRanks = kMaxRanks_;
19  /* KeepLastDim:
20  * if last dim keep the same? this can help enable vector load
21  * permute(0, 2, 4, 1, 3, 5) -> true
22  * permute(0, 3, 2, 1) -> false
23  */
24  static constexpr bool KeepLastDim = KeepLastDim_;
25  // TODO: not used(?)
26 };
27 
28 } // namespace ck_tile
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
Definition: generic_petmute_problem.hpp:15
remove_cvref_t< DataType_ > DataType
Definition: generic_petmute_problem.hpp:16
static constexpr index_t kBlockSize
Definition: generic_petmute_problem.hpp:17
static constexpr bool KeepLastDim
Definition: generic_petmute_problem.hpp:24
static constexpr index_t kMaxRanks
Definition: generic_petmute_problem.hpp:18