ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
onert::exec::JSON Class Reference

#include <JSONExecTime.h>

Public Member Functions

 JSON (const std::vector< const backend::Backend * > &backends, MeasurementData &measurements)
 
void storeOperationsExecTime () const
 Update _measurement_file with new data.
 

Detailed Description

Definition at line 43 of file JSONExecTime.h.

Constructor & Destructor Documentation

◆ JSON()

onert::exec::JSON::JSON ( const std::vector< const backend::Backend * > &  backends,
MeasurementData measurements 
)
inlineexplicit

Definition at line 46 of file JSONExecTime.h.

48 : _measurement_file("exec_time.json"), _backends(), _measurements(measurements)
49 {
50 for (const auto b : backends)
51 {
52 _backends.emplace(b->config()->id(), b);
53 }
54 loadOperationsExecTime();
55 };

Member Function Documentation

◆ storeOperationsExecTime()

void onert::exec::JSON::storeOperationsExecTime ( ) const

Update _measurement_file with new data.

Definition at line 137 of file JSONExecTime.cc.

138{
139 std::ofstream stream(_measurement_file);
140 if (!stream.is_open())
141 {
142 throw std::runtime_error("Failed to save backend config file");
143 }
144 else
145 {
146 stream << "{";
147 for (const auto &[backend, op_map] : _measurements)
148 {
149 printString(backend->config()->id(), stream);
150 stream << ": {";
151 for (const auto &[op_name, quant_map] : op_map)
152 {
153 printString(op_name, stream);
154 stream << ": {";
155 for (const auto &[is_quant, op_time_info_map] : quant_map)
156 {
157 printBool(is_quant, stream);
158 stream << ": [";
159 printOperation(op_time_info_map, stream);
160 stream << "], ";
161 }
162 stream.seekp(-2, std::ofstream::end);
163 stream << "}, ";
164 }
165 stream.seekp(-2, std::ofstream::end);
166 stream << "}, ";
167 }
168 stream.seekp(-2, std::ofstream::end);
169 stream << "}";
170 stream.close();
171 }
172}
void printBool(bool quant, std::ofstream &stream)
void printString(std::string_view str, std::ofstream &stream)

References onert::exec::printBool(), and onert::exec::printString().

Referenced by onert::exec::ExecTime::storeOperationsExecTime().


The documentation for this class was generated from the following files: