diff options
Diffstat (limited to 'runtime/neurun/core/include/backend/JSONExecTime.h')
-rw-r--r-- | runtime/neurun/core/include/backend/JSONExecTime.h | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/runtime/neurun/core/include/backend/JSONExecTime.h b/runtime/neurun/core/include/backend/JSONExecTime.h deleted file mode 100644 index 84505e10f..000000000 --- a/runtime/neurun/core/include/backend/JSONExecTime.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2019 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_JSON_EXEC_TIME_H__ -#define __NEURUN_BACKEND_JSON_EXEC_TIME_H__ - -#include <fstream> -#include <unordered_map> -#include <map> -#include <vector> -#include "backend/Backend.h" -#include "backend/IConfig.h" - -namespace neurun -{ -namespace backend -{ - -/** - * @brief table, that contains execution time of an operation on some backend for different input - * sizes and transfer time from one backend to another for various input sizes (permutation time) - * - * backend -> op -> quant-> size --> time - * _measurements[Backend*]["string"][bool][uint32_t] = int64_t - */ -using MeasurementData = std::unordered_map< - const Backend *, - std::unordered_map<std::string, std::unordered_map<bool, std::map<uint32_t, int64_t>>>>; - -class JSON -{ -public: - explicit JSON(const std::vector<const Backend *> &backends, MeasurementData &measurements) - : _measurement_file("exec_time.json"), _backends(), _measurements(measurements) - { - for (const auto b : backends) - { - _backends.emplace(b->config()->id(), b); - } - loadOperationsExecTime(); - }; - /** - * @brief Update _operations_exec_time_file with new data. - */ - void uploadOperationsExecTime() const; - -private: - ///@brief file containing measurements - std::string _measurement_file; - std::unordered_map<std::string, const Backend *> _backends; - std::unordered_map< - const Backend *, - std::unordered_map<std::string, std::unordered_map<bool, std::map<uint32_t, int64_t>>>> - &_measurements; - /** - * @brief Helper function for inserting data to OperationExecTimes - * - * @param backend String name of backend - * @param operation String name of operation - * @param quant if input type quantized - * @param stream File stream - */ - void readOperation(const std::string &backend, const std::string &operation, bool quant, - std::ifstream &stream); - - /** - * @brief Helper function for writing OperationExecTimes to stream - * - * @param operation_info Map of operations execution information - * @param stream File stream - */ - void printOperation(const std::map<uint32_t, int64_t> &operation_info, - std::ofstream &stream) const; - /** - * @brief Parse and load operations_exec_time from _operations_exec_time_file. - */ - void loadOperationsExecTime(); -}; - -} // namespace backend -} // namespace neurun - -#endif // __NEURUN_BACKEND_JSON_EXEC_TIME_H__ |