// // SplitGeluBufExecution.hpp // MNN // // Created by MNN on 2024/06/26. // Copyright © 2018, Alibaba Group Holding Limited // #ifdef MNN_SUPPORT_TRANSFORMER_FUSE #ifndef SplitGeluBufExecution_hpp #define SplitGeluBufExecution_hpp #include "backend/opencl/execution/image/CommonExecution.hpp" namespace MNN { namespace OpenCL { class SplitGeluBufExecution : public CommonExecution { public: SplitGeluBufExecution(const MNN::Op* op, Backend *backend); virtual ~SplitGeluBufExecution() = default; virtual ErrorCode onEncode(const std::vector &inputs, const std::vector &outputs) override; private: OpenCLBackend *mOpenCLBackend; float mFDiv{}; float mFAdd{}; float mFMul{}; std::vector mLWS{0, 0, 0, 0}; std::vector mGWS{0, 0, 0, 0}; }; } // namespace OPENCL } // namespace MNN #endif /* SplitGeluBufExecution_hpp */ #endif/* MNN_SUPPORT_TRANSFORMER_FUSE */