summaryrefslogtreecommitdiff
path: root/runtime/neurun/core/include/backend/JSONExecTime.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/neurun/core/include/backend/JSONExecTime.h')
-rw-r--r--runtime/neurun/core/include/backend/JSONExecTime.h96
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__