// // PoolExecution.hpp // MNN // // Created by MNN on 2020/07/29. // Copyright © 2018, Alibaba Group Holding Limited // #ifndef PoolExecution_hpp #define PoolExecution_hpp #include #include "backend/cuda/core/CUDABackend.hpp" #include "core/Execution.hpp" #include "bf16/PoolBf16.cuh" namespace MNN { namespace CUDA { class PoolExecution : public Execution { public: PoolExecution(const Pool *pool, Backend *backend) : Execution(backend) { mParameter = pool; } virtual ~PoolExecution() { // Do nothing } virtual ErrorCode onResize(const std::vector &inputs, const std::vector &outputs) override; virtual ErrorCode onExecute(const std::vector &inputs, const std::vector &outputs) override; private: const Pool *mParameter; std::vector mGlobalWorkSize{1, 1, 1}; std::vector mLocalWorkSize{1, 1, 1, 1}; PoolType mPoolType; PoolPadType mPadType; std::vector mStrides{1, 1}; std::vector mKernels{1, 1}; std::vector mPaddings{0, 0}; }; }; // namespace CUDA }; // namespace MNN #endif