// SPDX-License-Identifier: MIT // Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved. #pragma once #include "ck/utility/common_header.hpp" #include "ck/tile_program/tile/store_tile.hpp" #include "ck/tile_program/tile/tile_elementwise.hpp" template struct FmhaFwdEpilogueProblem { using OaccDataType = ck::remove_cvref_t; using ODataType = ck::remove_cvref_t; }; template struct FmhaFwdEpilogue { using Problem = ck::remove_cvref_t; using OaccDataType = ck::remove_cvref_t; using ODataType = ck::remove_cvref_t; __host__ __device__ static constexpr ck::index_t GetSmemSize() { return 0; } template __device__ auto operator()(ODramWindowTmp& o_dram_window_tmp, const OAccTile& o_acc_tile) { using namespace ck; using namespace ck::tile_program; const auto o = tile_elementwise_in(type_convert, o_acc_tile); store_tile(o_dram_window_tmp, o); } };