summaryrefslogtreecommitdiff
path: root/compiler/nnc/include/backends/soft_backend/BaseGenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/nnc/include/backends/soft_backend/BaseGenerator.h')
-rw-r--r--compiler/nnc/include/backends/soft_backend/BaseGenerator.h96
1 files changed, 0 insertions, 96 deletions
diff --git a/compiler/nnc/include/backends/soft_backend/BaseGenerator.h b/compiler/nnc/include/backends/soft_backend/BaseGenerator.h
deleted file mode 100644
index 9aaa7239d..000000000
--- a/compiler/nnc/include/backends/soft_backend/BaseGenerator.h
+++ /dev/null
@@ -1,96 +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 _NNC_SOFT_BACKEND_BASE_GENERATOR_H_
-#define _NNC_SOFT_BACKEND_BASE_GENERATOR_H_
-
-#include "mir/Graph.h"
-
-#include <string>
-#include <ostream>
-
-namespace nnc
-{
-
-class ModelAnalyzer;
-
-class Serializer;
-
-/**
- * @brief BaseCodeGenerator class provides interface for artifact
- * generation and contains common functionality for all soft backends
- *
- * Derivatives should override:
- * + constructor to set proper filenames for artifact parts
- * + code file generation function: materuializeCode
- * + header file generation to expose artifact inerface to user
- */
-class BaseCodeGenerator
-{
-public:
- virtual ~BaseCodeGenerator() = default;
-
- /**
- * @brief Method represents base generation sequence: analysis, serialization, header/code
- * generation, etc
- * @param graph MIR graph
- */
- void run(mir::Graph *graph);
-
-protected:
- /**
- * @brief This function processes tensor names
- * to transform them into valid identificators of target language
- * @param ma Intermediate artifact information
- */
- virtual void formatTensorNames(const ModelAnalyzer &ma) = 0;
- /**
- * @brief Derivative classes should override this function to generate header of artifact
- * @param out Stream to write header text
- * @param ma Intermediate artifact information
- */
- virtual void materializeHeader(std::ostream &out, const ModelAnalyzer &ma) = 0;
- /**
- * @brief Derivative classes should override this function to generate implementation of artifact
- * @param out Stream to write header text
- * @param ma Intermediate artifact information
- * @param s Serializer holds parameters of network and various meta-information: serializer
- * version, hashes, etc
- */
- virtual void materializeCode(std::ostream &out, const ModelAnalyzer &ma, const Serializer &s) = 0;
- /**
- * @brief Writes serialized parameters to out stream
- * @param out Stream to write serialized parameters
- * @param s Serializer holds parameters of network
- *
- * Contents of generated file:
- * + header(magic number to identify file type, protocol version, hashes of network and params)
- * + array of serialized network parameters
- */
- void materializeModelParams(std::ostream &out, const Serializer &s);
-
- BaseCodeGenerator();
-
- std::vector<std::string> _formattedTensors;
-
- std::string _headerPath;
- std::string _codePath;
- std::string _paramsPath;
-};
-
-} // namespace nnc
-
-#endif //_NNC_SOFT_BACKEND_BASE_GENERATOR_H_