// 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 Reduce2dProblem { using XDataType = remove_cvref_t; using ComputeDataType = remove_cvref_t; using YDataType = remove_cvref_t; using BlockShape = remove_cvref_t; using ReduceOp = ReduceOp_; using KeptDim = remove_cvref_t; using ReduceDims = remove_cvref_t; static constexpr index_t Rank = Rank_; static constexpr index_t NumReduceDim = ReduceDims::size(); static constexpr bool kOutputIndex = OutputIndex_; static constexpr bool kNeedCrossLaneSync = BlockShape::ThreadPerWarp_N > 1; static constexpr bool kNeedCrossWarpSync = BlockShape::WarpPerBlock_N > 1; }; } // namespace ck_tile