Files
openvino/tests/time_tests/include/timetests_helper/utils.h
T
Vitaliy UrusovskijandIlya Lavrenov e4c38e3afd Port tests/ to API2.0 (#21476)
* Port properties in time and stress tests to API2.0

* Port CC tests infer_tool.py to API2.0

* Update tests/conditional_compilation/tools/infer_tool.py

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-12-06 14:36:43 +04:00

55 lines
1.9 KiB
C++

// Copyright (C) 2018-2023 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#pragma once
#include <inference_engine.hpp>
#include <openvino/openvino.hpp>
#include <ie_plugin_config.hpp>
#include <string>
namespace TimeTest {
/**
* @brief Get extension from filename
* @param filename - name of the file which extension should be extracted
* @return string with extracted file extension
*/
std::string fileExt(const std::string &filename) {
auto pos = filename.rfind('.');
if (pos == std::string::npos) return "";
return filename.substr(pos + 1);
}
/**
* @brief Function that enables Latency performance hint for specified device (OV API 1)
*/
void setPerformanceConfig(InferenceEngine::Core ie, const std::string &device) {
auto supported_config_keys = ie.GetMetric(device, METRIC_KEY(SUPPORTED_CONFIG_KEYS)).as<std::vector<std::string>>();
if (std::find(supported_config_keys.begin(), supported_config_keys.end(), "PERFORMANCE_HINT") ==
supported_config_keys.end()) {
std::cerr << "Device " << device << " doesn't support config key 'PERFORMANCE_HINT'!\n"
<< "Performance config was not set.";
}
else
ie.SetConfig({{CONFIG_KEY(PERFORMANCE_HINT), CONFIG_VALUE(LATENCY)}}, device);
}
/**
* @brief Function that enables Latency performance hint for specified device (OV API 2)
*/
void setPerformanceConfig(ov::Core ie, const std::string &device) {
auto supported_config_keys = ie.get_property(device, ov::supported_properties);
if (std::find(supported_config_keys.begin(), supported_config_keys.end(), ov::hint::performance_mode) ==
supported_config_keys.end()) {
std::cerr << "Device " << device << " doesn't support " << ov::hint::performance_mode.name() << " property!\n"
<< "Performance config was not set.";
}
else
ie.set_property(device, ov::hint::performance_mode(ov::hint::PerformanceMode::LATENCY));
}
}