Files
openvino/docs/snippets/ov_properties_migration.c
Ilya Churaev 0c9abf43a9 Updated copyright headers (#15124)
* Updated copyright headers

* Revert "Fixed linker warnings in docs snippets on Windows (#15119)"

This reverts commit 372699ec49.
2023-01-16 11:02:17 +04:00

121 lines
3.5 KiB
C

#include <c_api/ie_c_api.h>
#include <openvino/c/openvino.h>
int main_new() {
ov_core_t* core = NULL;
ov_core_create(&core);
//! [core_get_ro_property]
char* full_device_name = NULL;
ov_core_get_property(core, "CPU", ov_property_key_device_full_name, &full_device_name);
ov_free(full_device_name);
//! [core_get_ro_property]
//! [core_get_rw_property]
char* num_streams = NULL;
ov_core_get_property(core, "CPU", ov_property_key_num_streams, &num_streams);
ov_free(num_streams);
//! [core_get_rw_property]
//! [core_set_property]
ov_core_set_property(core, "CPU", ov_property_key_enable_profiling, "TRUE");
//! [core_set_property]
ov_model_t* model = NULL;
ov_core_read_model(core, "sample.xml", NULL, &model);
//! [core_compile_model]
ov_compiled_model_t* compiled_model = NULL;
ov_core_compile_model(core, model, "MULTI", 6, &compiled_model,
ov_property_key_device_priorities, "CPU, CPU",
ov_property_key_hint_performance_mode, "THROUGHPUT",
ov_property_key_hint_inference_precision, "f32");
//! [core_compile_model]
//! [compiled_model_set_property]
// turn CPU off for multi-device execution
ov_compiled_model_set_property(compiled_model, ov_property_key_device_priorities, "GPU");
//! [compiled_model_set_property]
{
//! [compiled_model_get_ro_property]
char* nireq = NULL;
ov_compiled_model_get_property(compiled_model, ov_property_key_hint_num_requests, &nireq);
ov_free(nireq);
//! [compiled_model_get_ro_property]
}
{
//! [compiled_model_get_rw_property]
char* perf_mode = NULL;
ov_compiled_model_get_property(compiled_model, ov_property_key_hint_performance_mode, &perf_mode);
ov_free(perf_mode);
//! [compiled_model_get_rw_property]
}
ov_compiled_model_free(compiled_model);
ov_model_free(model);
ov_core_free(core);
return 0;
}
int main_old() {
ie_core_t *core = NULL;
ie_core_create("", &core);
//! [core_get_metric]
ie_param_t full_device_name;
full_device_name.params = NULL;
ie_core_get_metric(core, "CPU", "FULL_DEVICE_NAME", &full_device_name);
ie_param_free(&full_device_name);
//! [core_get_metric]
//! [core_get_config]
ie_param_t num_streams;
num_streams.params = NULL;
ie_core_get_config(core, "CPU", "CPU_THROUGHPUT_STREAMS", &num_streams);
ie_param_free(&num_streams);
//! [core_get_config]
//! [core_set_config]
ie_config_t config = {"PERF_COUNT", "YES", NULL};
ie_core_set_config(core, &config, "CPU");
//! [core_set_config]
ie_network_t *network = NULL;
ie_core_read_network(core, "sample.xml", "sample.bin", &network);
//! [core_load_network]
ie_config_t config_1 = {"DEVICE_PRIORITIES", "CPU, GPU", NULL};
ie_config_t config_2 = {"PERFORMANCE_HINT", "THROUGHPUT", &config_1};
ie_config_t config_3 = {"ENFORCE_BF16", "NO", &config_2};
ie_executable_network_t *exe_network = NULL;
ie_core_load_network(core, network, "MULTI", &config_3, &exe_network);
//! [core_load_network]
//! [executable_network_set_config]
// turn CPU off for multi-device executio
ie_config_t config_param = {"DEVICE_PRIORITIES", "GPU", NULL};
ie_exec_network_set_config(exe_network, &config_param);
//! [executable_network_set_config]
{
//! [executable_network_get_metric]
ie_param_t nireq;
nireq.params = NULL;
ie_exec_network_get_metric(exe_network, "OPTIMAL_NUMBER_OF_INFER_REQUESTS", &nireq);
ie_param_free(&nireq);
//! [executable_network_get_metric]
}
{
//! [executable_network_get_config]
ie_param_t perf_model;
perf_model.params = NULL;
ie_exec_network_get_config(exe_network, "PERFORMANCE_HINT", &perf_model);
//! [executable_network_get_config]
}
ie_exec_network_free(&exe_network);
ie_network_free(&network);
ie_core_free(&core);
return 0;
}