dlia_config.hpp
Go to the documentation of this file.
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 /**
6  * @brief A header that defines advanced related properties for DLIA plugins.
7  * These properties should be used in SetConfig() and LoadNetwork() methods of plugins
8  *
9  * @file dlia_config.hpp
10  */
11 
12 #pragma once
13 
14 #include <string>
15 #include "ie_plugin_config.hpp"
16 
17 namespace InferenceEngine {
18 
19 /**
20  * @brief DLIA plugin metrics
21  */
22 namespace DliaMetrics {
23 
24 /**
25  * @def DLIA_METRIC_VALUE(name)
26  * @brief Shortcut for defining FPGA metric values
27  */
28 #define DLIA_METRIC_VALUE(name) InferenceEngine::DliaMetrics::name
29 #define DECLARE_DLIA_METRIC_VALUE(name) static constexpr auto name = #name
30 
31 /**
32  * @brief FP11 optimization capability. It's specific for FPGA device which can perform computations in FP11 data type.
33  */
34 DECLARE_DLIA_METRIC_VALUE(FP11);
35 
36 /**
37  * @brief Input Streaming capability. It's specific for FPGA device which can perform input streaming
38  */
39 DECLARE_DLIA_METRIC_VALUE(INPUT_STREAMING);
40 
41 } // namespace DliaMetrics
42 
43 /**
44  * @brief DLIA plugin configuration
45  */
46 namespace DLIAConfigParams {
47 
48 /**
49  * @def DLIA_CONFIG_KEY(name)
50  * @brief Shortcut for defining FPGA configuration keys
51  */
52 #define DLIA_CONFIG_KEY(name) InferenceEngine::DLIAConfigParams::_CONFIG_KEY(DLIA_##name)
53 
54 #define DECLARE_DLIA_CONFIG_KEY(name) DECLARE_CONFIG_KEY(DLIA_##name)
55 #define DECLARE_DLIA_CONFIG_VALUE(name) DECLARE_CONFIG_VALUE(DLIA_##name)
56 
57 /**
58  * @brief The key to define the type of transformations for DLIA inputs and outputs.
59  * DLIA use custom data layout for input and output blobs. IE DLIA Plugin provides custom
60  * optimized version of transformation functions that do not use OpenMP and much more faster
61  * than native DLIA functions. Values: "NO" - optimized plugin transformations
62  * are used, "YES" - native DLIA transformations are used.
63  */
64 DECLARE_DLIA_CONFIG_KEY(IO_TRANSFORMATIONS_NATIVE);
65 
66 /**
67  * @brief The key to define path to DLA bitstreams architectures folder
68  */
69 DECLARE_DLIA_CONFIG_KEY(ARCH_ROOT_DIR);
70 
71 /**
72  * @brief The bool key to define whether theoretical performance estimation should be performed.
73  * If true, the estimated performance is dumped via performance counters as "FPGA theoretical execute time"
74  */
75 DECLARE_DLIA_CONFIG_KEY(PERF_ESTIMATION);
76 
77 // TODO: Temporarily adding dlia config to test streaming feature
78 // Values - "YES" or "NO"
79 DECLARE_DLIA_CONFIG_KEY(ENABLE_STREAMING);
80 
81 /**
82  * @brief The bool key to define whether information messages with a reason are printed in case the layer is unsupported by DLA
83  */
84 DECLARE_DLIA_CONFIG_KEY(DUMP_SUPPORTED_LAYERS_INFORMATION);
85 
86 } // namespace DLIAConfigParams
87 } // namespace InferenceEngine
static constexpr auto FP11
FP11 optimization capability. It&#39;s specific for FPGA device which can perform computations in FP11 da...
Definition: dlia_config.hpp:34
Inference Engine API.
Definition: ie_argmax_layer.hpp:11
static constexpr auto INPUT_STREAMING
Input Streaming capability. It&#39;s specific for FPGA device which can perform input streaming...
Definition: dlia_config.hpp:39
a header for advanced hardware related properties for clDNN plugin To use in SetConfig() method of pl...