diff --git a/inference-engine/src/plugin_api/exec_graph_info.hpp b/inference-engine/src/plugin_api/exec_graph_info.hpp index 29389b923da..fde925d58df 100644 --- a/inference-engine/src/plugin_api/exec_graph_info.hpp +++ b/inference-engine/src/plugin_api/exec_graph_info.hpp @@ -69,6 +69,12 @@ static const char EXECUTION_ORDER[] = "execOrder"; */ static const char LAYER_TYPE[] = "layerType"; +/** + * @ingroup ie_dev_exec_graph + * @brief Used to get runtime precision of the executable primitive. + */ +static const char RUNTIME_PRECISION[] = "runtimePrecision"; + /** * @ingroup ie_dev_exec_graph * @brief The Execution node which is used to represent node in execution graph. @@ -81,6 +87,7 @@ static const char LAYER_TYPE[] = "layerType"; * - ExecGraphInfoSerialization::OUTPUT_LAYOUTS * - ExecGraphInfoSerialization::EXECUTION_ORDER * - ExecGraphInfoSerialization::LAYER_TYPE + * - ExecGraphInfoSerialization::RUNTIME_PRECISION */ class INFERENCE_ENGINE_API_CLASS(ExecutionNode) : public ngraph::Node { public: diff --git a/inference-engine/src/vpu/graph_transformer/src/utils/runtime_graph.cpp b/inference-engine/src/vpu/graph_transformer/src/utils/runtime_graph.cpp index 28dee42fc08..55e0e0144b0 100644 --- a/inference-engine/src/vpu/graph_transformer/src/utils/runtime_graph.cpp +++ b/inference-engine/src/vpu/graph_transformer/src/utils/runtime_graph.cpp @@ -241,8 +241,13 @@ std::map extractMeta(const StageMetaInfo& stageMeta) { serializationInfo[ExecGraphInfoSerialization::OUTPUT_LAYOUTS] = layoutStream.str(); std::string outPrecisionsStr; + Precision runtimePrecision {Precision::I32}; ind = 0; for (auto &outPrecision : stageMeta.outPrecisions) { + // if we have any output precision not equal I32 -> we assume runtimePrecision is FP16 + if (outPrecision != Precision::I32) { + runtimePrecision = Precision::FP16; + } if (ind == 0) { outPrecisionsStr += outPrecision.name(); ind++; @@ -251,7 +256,7 @@ std::map extractMeta(const StageMetaInfo& stageMeta) { outPrecisionsStr += ',' + std::string(outPrecision.name()); } serializationInfo[ExecGraphInfoSerialization::OUTPUT_PRECISIONS] = outPrecisionsStr; - + serializationInfo[ExecGraphInfoSerialization::RUNTIME_PRECISION] = runtimePrecision.name(); return serializationInfo; }