// // CPUBatchMatMul.hpp // MNN // // Created by MNN on 2019/03/25. // Copyright © 2018, Alibaba Group Holding Limited // #ifndef CPUBatchMatMul_hpp #define CPUBatchMatMul_hpp #include "backend/cpu/CPUMatMul.hpp" namespace MNN { class CPUBatchMatMul : public Execution { public: CPUBatchMatMul(Backend *backend, bool adjX, bool adjY); virtual ~CPUBatchMatMul() = default; virtual ErrorCode onExecute(const std::vector &inputs, const std::vector &outputs) override; virtual ErrorCode onResize(const std::vector &inputs, const std::vector &outputs) override; private: int mBatch; std::shared_ptr mMatMul; std::vector mTempInputs; std::vector mTempOutputs; std::shared_ptr mMatrixA; std::shared_ptr mMatrixB; std::shared_ptr mMatrixC; }; } // namespace MNN #endif /* CPUBatchMatMul_hpp */