reduce2d_problem.hpp Source File

reduce2d_problem.hpp Source File#

Composable Kernel: reduce2d_problem.hpp Source File
reduce2d_problem.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2018-2025, Advanced Micro Devices, Inc. All rights reserved.
3
4#pragma once
5
6#include "ck_tile/core.hpp"
7
8namespace ck_tile {
9
10template <typename XDataType_,
11 typename ComputeDataType_,
12 typename YDataType_,
13 typename BlockShape_,
14 typename ReduceOp_,
15 bool OutputIndex_ = false>
17{
22 using ReduceOp = ReduceOp_;
23
24 static constexpr bool kOutputIndex = OutputIndex_;
25 static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1;
26 static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1;
27};
28
29} // namespace ck_tile
Definition tile/core/algorithm/cluster_descriptor.hpp:13
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
Definition reduce2d_problem.hpp:17
static constexpr bool kNeedCrossLaneSync
Definition reduce2d_problem.hpp:25
remove_cvref_t< BlockShape_ > BlockShape
Definition reduce2d_problem.hpp:21
remove_cvref_t< XDataType_ > XDataType
Definition reduce2d_problem.hpp:18
remove_cvref_t< ComputeDataType_ > ComputeDataType
Definition reduce2d_problem.hpp:19
static constexpr bool kOutputIndex
Definition reduce2d_problem.hpp:24
static constexpr bool kNeedCrossWarpSync
Definition reduce2d_problem.hpp:26
remove_cvref_t< YDataType_ > YDataType
Definition reduce2d_problem.hpp:20
ReduceOp_ ReduceOp
Definition reduce2d_problem.hpp:22