pool_problem.hpp Source File

pool_problem.hpp Source File#

Composable Kernel: pool_problem.hpp Source File
pool_problem.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 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 InDataType_,
11 typename OutDataType_,
12 typename ComputeDataType_,
13 typename IndexDataType_,
14 typename ReduceOp_,
15 bool OutputIndex_,
16 bool PropagateNan_,
17 typename BlockShape_>
19{
25 using ReduceOp = ReduceOp_;
28
29 static constexpr bool kOutputIndex = OutputIndex_;
30 static constexpr bool kPropagateNan = PropagateNan_;
31 static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1;
32 static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1;
33};
34
35} // 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
constant< b > bool_constant
Definition tile/core/numeric/integral_constant.hpp:43
Definition pool_problem.hpp:19
static constexpr bool kPropagateNan
Definition pool_problem.hpp:30
remove_cvref_t< ComputeDataType_ > ComputeDataType
Definition pool_problem.hpp:22
remove_cvref_t< InDataType_ > InDataType
Definition pool_problem.hpp:20
static constexpr bool kNeedCrossLaneSync
Definition pool_problem.hpp:31
remove_cvref_t< OutDataType_ > OutDataType
Definition pool_problem.hpp:21
bool_constant< PropagateNan_ > PropagateNan
Definition pool_problem.hpp:27
remove_cvref_t< BlockShape_ > BlockShape
Definition pool_problem.hpp:24
ReduceOp_ ReduceOp
Definition pool_problem.hpp:25
bool_constant< OutputIndex_ > OutputIndex
Definition pool_problem.hpp:26
static constexpr bool kNeedCrossWarpSync
Definition pool_problem.hpp:32
remove_cvref_t< IndexDataType_ > IndexDataType
Definition pool_problem.hpp:23
static constexpr bool kOutputIndex
Definition pool_problem.hpp:29