// Copyright (c) Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT #pragma once #include "ck_tile/core.hpp" namespace ck_tile { template struct PoolProblem { using InDataType = remove_cvref_t; using OutDataType = remove_cvref_t; using ComputeDataType = remove_cvref_t; using IndexDataType = remove_cvref_t; using BlockShape = remove_cvref_t; using ReduceOp = ReduceOp_; using OutputIndex = bool_constant; using PropagateNan = bool_constant; static constexpr bool kOutputIndex = OutputIndex_; static constexpr bool kPropagateNan = PropagateNan_; static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1; static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1; }; } // namespace ck_tile