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

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

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/ops/reduce/pipeline/reduce2d_problem.hpp Source File
reduce2d_problem.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 template <typename XDataType_,
11  typename ComputeDataType_,
12  typename YDataType_,
13  typename BlockShape_,
14  typename ReduceOp_,
15  typename KeptDim_,
16  typename ReduceDims_,
17  index_t Rank_,
18  bool OutputIndex_ = false>
20 {
25  using ReduceOp = ReduceOp_;
28 
29  static constexpr index_t Rank = Rank_;
30  static constexpr index_t NumReduceDim = ReduceDims::size();
31  static constexpr bool kOutputIndex = OutputIndex_;
32  static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1;
33  static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1;
34 };
35 
36 } // 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:21
Definition: reduce2d_problem.hpp:20
remove_cvref_t< XDataType_ > XDataType
Definition: reduce2d_problem.hpp:21
remove_cvref_t< BlockShape_ > BlockShape
Definition: reduce2d_problem.hpp:24
remove_cvref_t< ReduceDims_ > ReduceDims
Definition: reduce2d_problem.hpp:27
remove_cvref_t< ComputeDataType_ > ComputeDataType
Definition: reduce2d_problem.hpp:22
static constexpr index_t NumReduceDim
Definition: reduce2d_problem.hpp:30
static constexpr bool kOutputIndex
Definition: reduce2d_problem.hpp:31
static constexpr index_t Rank
Definition: reduce2d_problem.hpp:29
static constexpr bool kNeedCrossWarpSync
Definition: reduce2d_problem.hpp:33
static constexpr bool kNeedCrossLaneSync
Definition: reduce2d_problem.hpp:32
ReduceOp_ ReduceOp
Definition: reduce2d_problem.hpp:25
remove_cvref_t< KeptDim_ > KeptDim
Definition: reduce2d_problem.hpp:26
remove_cvref_t< YDataType_ > YDataType
Definition: reduce2d_problem.hpp:23