vpu_plugin_config.hpp
Go to the documentation of this file.
1 // Copyright (C) 2018-2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 /**
6  * @deprecated Use vpu/myriad_config.hpp or vpu/hddl_config.hpp instead.
7  * @brief A header that defines advanced related properties for VPU plugins.
8  * These properties should be used in SetConfig() and LoadNetwork() methods of plugins
9  *
10  * @file vpu_plugin_config.hpp
11  */
12 
13 #pragma once
14 
17 #include "ie_api.h"
18 
19 //
20 // Common options
21 //
22 
23 #define VPU_CONFIG_KEY(name) InferenceEngine::VPUConfigParams::_CONFIG_KEY(VPU_##name)
24 #define VPU_CONFIG_VALUE(name) InferenceEngine::VPUConfigParams::VPU_##name
25 
26 #define DECLARE_VPU_CONFIG_KEY(name) DECLARE_CONFIG_KEY(VPU_##name)
27 #define DECLARE_VPU_CONFIG_VALUE(name) DECLARE_CONFIG_VALUE(VPU_##name)
28 
29 //
30 // Common metrics
31 //
32 
33 #define VPU_METRIC(name) METRIC_KEY(VPU_##name)
34 #define DECLARE_VPU_METRIC(name, ...) DECLARE_METRIC_KEY(VPU_##name, __VA_ARGS__)
35 
36 namespace InferenceEngine {
37 
38 /**
39  * @brief VPU plugin configuration
40  */
41 namespace VPUConfigParams {
42 
43 //
44 // Common options
45 //
46 
47 /**
48  * @deprecated Use InferenceEngine::MYRIAD_ENABLE_HW_ACCELERATION instead.
49  * @brief Turn on HW stages usage (applicable for MyriadX devices only).
50  * This option should be used with values: CONFIG_VALUE(YES) or CONFIG_VALUE(NO) (default)
51  */
52 INFERENCE_ENGINE_DEPRECATED("Use InferenceEngine::MYRIAD_ENABLE_HW_ACCELERATION instead")
53 DECLARE_VPU_CONFIG_KEY(HW_STAGES_OPTIMIZATION);
54 
55 /**
56  * @deprecated Use CONFIG_KEY(LOG_LEVEL) instead.
57  * @brief The key to define log level
58  */
59 INFERENCE_ENGINE_DEPRECATED("Use CONFIG_KEY(LOG_LEVEL) instead")
60 DECLARE_VPU_CONFIG_KEY(LOG_LEVEL);
61 
62 /**
63  * @deprecated Use InferenceEngine::MYRIAD_ENABLE_RECEIVING_TENSOR_TIME instead.
64  * @brief The flag for adding to the profiling information the time of obtaining a tensor.
65  * This option should be used with values: CONFIG_VALUE(YES) or CONFIG_VALUE(NO) (default)
66  */
67 INFERENCE_ENGINE_DEPRECATED("Use InferenceEngine::MYRIAD_ENABLE_RECEIVING_TENSOR_TIME instead")
68 DECLARE_VPU_CONFIG_KEY(PRINT_RECEIVE_TENSOR_TIME);
69 
70 /**
71  * @deprecated Use InputInfo::setLayout on input data from CNNNetwork::getInputsInfo() or
72  * Data::setLayout on output data from CNNNetwork::getOutputsInfo()
73  * @brief This option allows to to specify input output layouts for network layers.
74  * By default, this value set to VPU_CONFIG_VALUE(AUTO) value.
75  * Supported values:
76  * VPU_CONFIG_VALUE(AUTO) executable network configured to use optimal layer layout depending on available HW
77  * VPU_CONFIG_VALUE(NCHW) executable network forced to use NCHW input/output layouts
78  * VPU_CONFIG_VALUE(NHWC) executable network forced to use NHWC input/output layouts
79  */
80 INFERENCE_ENGINE_DEPRECATED("Use InputInfo::setLayout on input data from CNNNetwork::getInputsInfo() or" \
81  "Data::setLayout on output data from CNNNetwork::getOutputsInfo()")
82 DECLARE_VPU_CONFIG_KEY(COMPUTE_LAYOUT);
83 
84 /**
85  * @deprecated See VPU_CONFIG_KEY(COMPUTE_LAYOUT) deprecation info.
86  * @brief Supported keys definition for VPU_CONFIG_KEY(COMPUTE_LAYOUT) option.
87  */
88 INFERENCE_ENGINE_DEPRECATED("See VPU_CONFIG_KEY(COMPUTE_LAYOUT) deprecation info")
89 DECLARE_VPU_CONFIG_VALUE(AUTO);
90 INFERENCE_ENGINE_DEPRECATED("See VPU_CONFIG_KEY(COMPUTE_LAYOUT) deprecation info")
91 DECLARE_VPU_CONFIG_VALUE(NCHW);
92 INFERENCE_ENGINE_DEPRECATED("See VPU_CONFIG_KEY(COMPUTE_LAYOUT) deprecation info")
93 DECLARE_VPU_CONFIG_VALUE(NHWC);
94 INFERENCE_ENGINE_DEPRECATED("See VPU_CONFIG_KEY(COMPUTE_LAYOUT) deprecation info")
95 DECLARE_VPU_CONFIG_VALUE(NCDHW);
96 INFERENCE_ENGINE_DEPRECATED("See VPU_CONFIG_KEY(COMPUTE_LAYOUT) deprecation info")
97 DECLARE_VPU_CONFIG_VALUE(NDHWC);
98 
99 /**
100  * @deprecated Use InferenceEngine::MYRIAD_CUSTOM_LAYERS instead.
101  * @brief This option allows to pass custom layers binding xml.
102  * If layer is present in such an xml, it would be used during inference even if the layer is natively supported
103  */
104 INFERENCE_ENGINE_DEPRECATED("Use InferenceEngine::MYRIAD_CUSTOM_LAYERS instead")
105 DECLARE_VPU_CONFIG_KEY(CUSTOM_LAYERS);
106 
107 /**
108  * @deprecated Use InferenceEngine::MYRIAD_PROTOCOL instead.
109  * @brief This option allows to specify protocol.
110  */
111 INFERENCE_ENGINE_DEPRECATED("Use InferenceEngine::MYRIAD_PROTOCOL instead")
112 DECLARE_VPU_MYRIAD_CONFIG_KEY(PROTOCOL);
113 
114 /**
115  * @deprecated Use InferenceEngine::MYRIAD_PCIE or InferenceEngine::MYRIAD_USB instead.
116  * @brief Supported keys definition for VPU_MYRIAD_CONFIG_KEY(PROTOCOL) option.
117  */
118 INFERENCE_ENGINE_DEPRECATED("Use InferenceEngine::MYRIAD_PCIE instead")
119 DECLARE_VPU_MYRIAD_CONFIG_VALUE(PCIE);
120 INFERENCE_ENGINE_DEPRECATED("Use InferenceEngine::MYRIAD_USB instead")
121 DECLARE_VPU_MYRIAD_CONFIG_VALUE(USB);
122 
123 } // namespace VPUConfigParams
124 
125 } // namespace InferenceEngine
A header that defines advanced related properties for VPU plugins. These properties should be used in...
The macro defines a symbol import/export mechanism essential for Microsoft Windows(R) OS.
#define CONFIG_KEY(name)
shortcut for defining configuration keys
Definition: ie_plugin_config.hpp:172
A header that defines advanced related properties for VPU plugins. These properties should be used in...
Inference Engine C++ API.
Definition: cldnn_config.hpp:15
@ NCDHW
NCDHW layout for input / output blobs.
Definition: ie_common.h:69
@ NHWC
NHWC layout for input / output blobs.
Definition: ie_common.h:68
@ NDHWC
NDHWC layout for input / output blobs.
Definition: ie_common.h:70
@ NCHW
NCHW layout for input / output blobs.
Definition: ie_common.h:67
static constexpr auto MYRIAD_PROTOCOL
This option allows to specify protocol.
Definition: myriad_config.hpp:44
static constexpr auto MYRIAD_CUSTOM_LAYERS
This option allows to pass custom layers binding xml. If layer is present in such an xml,...
Definition: vpu_config.hpp:48
static constexpr auto MYRIAD_PCIE
Supported keys definition for InferenceEngine::MYRIAD_PROTOCOL option.
Definition: myriad_config.hpp:49
static constexpr auto MYRIAD_ENABLE_RECEIVING_TENSOR_TIME
The flag for adding to the profiling information the time of obtaining a tensor. The only possible va...
Definition: vpu_config.hpp:42