diff options
Diffstat (limited to 'runtimes/neurun/src/backend/interface/IStageGenerator.h')
-rw-r--r-- | runtimes/neurun/src/backend/interface/IStageGenerator.h | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/runtimes/neurun/src/backend/interface/IStageGenerator.h b/runtimes/neurun/src/backend/interface/IStageGenerator.h deleted file mode 100644 index 878a50e3f..000000000 --- a/runtimes/neurun/src/backend/interface/IStageGenerator.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __NEURUN_BACKEND_ISTAGE_GENERATOR_H__ -#define __NEURUN_BACKEND_ISTAGE_GENERATOR_H__ - -#include <memory> -#include <functional> - -#include "exec/interface/IFunction.h" - -#include "backend/interface/ITensorBuilder.h" -#include "model/operation/NodeVisitor.h" - -struct IExecutionBuilder -{ - virtual ~IExecutionBuilder() = default; - - virtual void append(std::unique_ptr<::neurun::exec::IFunction> &&f) = 0; -}; - -using Stage = std::function<void(IExecutionBuilder &)>; - -namespace neurun -{ -namespace backend -{ - -class IStageGenerator : model::operation::NodeVisitor -{ -public: - virtual ~IStageGenerator() = default; - - virtual std::shared_ptr<ITensorBuilder> tensor_builder() = 0; - -protected: -#define OP(InternalName, IsNnApi, NnApiName) \ - virtual void visit(const model::operation::InternalName &) override {} -#include "model/operation/Op.lst" -#undef OP - -protected: - void returnStage(const Stage &stage) { _return = stage; } - -public: - Stage generate(const model::operation::Node &node) - { - node.accept(std::move(*this)); - return _return; - } - -private: - Stage _return = nullptr; -}; - -} // namespace backend -} // namespace neurun - -#endif // __NEURUN_BACKEND_ISTAGE_GENERATOR_H__ |