cldnn_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  * @brief A header for advanced hardware related properties for clDNN plugin
7  * To use in SetConfig() method of plugins
8  *
9  * @file cldnn_config.hpp
10  */
11 #pragma once
12 
13 #include "ie_plugin_config.hpp"
14 
15 namespace InferenceEngine {
16 
17 /**
18  * @brief GPU plugin configuration
19  */
20 namespace CLDNNConfigParams {
21 
22 /**
23 * @brief shortcut for defining configuration keys
24 */
25 #define CLDNN_CONFIG_KEY(name) InferenceEngine::CLDNNConfigParams::_CONFIG_KEY(CLDNN_##name)
26 #define DECLARE_CLDNN_CONFIG_KEY(name) DECLARE_CONFIG_KEY(CLDNN_##name)
27 #define DECLARE_CLDNN_CONFIG_VALUE(name) DECLARE_CONFIG_VALUE(CLDNN_##name)
28 
29 /**
30 * @brief This key instructs the clDNN plugin to use the OpenCL queue priority hint
31 * as defined in https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-extensions.pdf
32 * this option should be used with an unsigned integer value (1 is lowest priority)
33 * 0 means no priority hint is set and default queue is created.
34 */
35 DECLARE_CLDNN_CONFIG_KEY(PLUGIN_PRIORITY);
36 
37 /**
38 * @brief This key instructs the clDNN plugin to use throttle hints the OpenCL queue throttle hint
39 * as defined in https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-extensions.pdf,
40 * chapter 9.19. This option should be used with an unsigned integer value (1 is lowest energy consumption)
41 * 0 means no throttle hint is set and default queue created.
42 */
43 DECLARE_CLDNN_CONFIG_KEY(PLUGIN_THROTTLE);
44 
45 /**
46 * @brief This key controls clDNN memory pool optimization.
47 * Turned off by default.
48 */
49 DECLARE_CLDNN_CONFIG_KEY(MEM_POOL);
50 
51 /**
52 * @brief This key defines the directory name to which clDNN graph visualization will be dumped.
53 */
54 DECLARE_CLDNN_CONFIG_KEY(GRAPH_DUMPS_DIR);
55 
56 /**
57 * @brief This key defines the directory name to which full program sources will be dumped.
58 */
59 DECLARE_CLDNN_CONFIG_KEY(SOURCES_DUMPS_DIR);
60 
61 /**
62 * @brief This key enables FP16 precision for quantized models.
63 * By default the model is converted to FP32 precision before running LPT. If this key is enabled (default), then non-quantized layers
64 * will be converted back to FP16 after LPT, which might imrpove the performance if a model has a lot of compute operations in
65 * non-quantized path. This key has no effect if current device doesn't have INT8 optimization capabilities.
66 */
67 DECLARE_CLDNN_CONFIG_KEY(ENABLE_FP16_FOR_QUANTIZED_MODELS);
68 
69 /**
70 * @brief This key should be set to correctly handle NV12 input without pre-processing.
71 * Turned off by default.
72 */
73 DECLARE_CLDNN_CONFIG_KEY(NV12_TWO_INPUTS);
74 
75 
76 } // namespace CLDNNConfigParams
77 } // namespace InferenceEngine
A header for advanced hardware related properties for IE plugins To use in SetConfig,...