Publishing R3
[platform/upstream/dldt.git] / inference-engine / include / cldnn / cldnn_config.hpp
1 // Copyright (C) 2018 Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 //
5
6 /**
7  * @brief a header for advanced hardware related properties for clDNN plugin
8  *        To use in SetConfig() method of plugins
9  *
10  * @file ie_plugin_config.hpp
11  */
12 #pragma once
13
14 #include <string>
15 #include "../ie_plugin_config.hpp"
16
17 namespace InferenceEngine {
18
19 namespace CLDNNConfigParams {
20
21 /**
22 * @brief shortcut for defining configuration keys
23 */
24 #define CLDNN_CONFIG_KEY(name) InferenceEngine::CLDNNConfigParams::_CONFIG_KEY(CLDNN_##name)
25 #define DECLARE_CLDNN_CONFIG_KEY(name) DECLARE_CONFIG_KEY(CLDNN_##name)
26 #define DECLARE_CLDNN_CONFIG_VALUE(name) DECLARE_CONFIG_VALUE(CLDNN_##name)
27
28 /**
29 * @brief This key instructs the clDNN plugin to use the OpenCL queue priority hint
30 * as defined in https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-extensions.pdf
31 * this option should be used with an unsigned integer value (1 is lowest priority)
32 * 0 means no priority hint is set and default queue is created.
33 */
34 DECLARE_CLDNN_CONFIG_KEY(PLUGIN_PRIORITY);
35
36 /**
37 * @brief This key instructs the clDNN plugin to use throttle hints the OpenCL queue throttle hint
38 * as defined in https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-extensions.pdf,
39 * chapter 9.19. This option should be used with an unsigned integer value (1 is lowest energy consumption)
40 * 0 means no throttle hint is set and default queue created.
41 */
42 DECLARE_CLDNN_CONFIG_KEY(PLUGIN_THROTTLE);
43
44 /**
45 * @brief This key controls clDNN memory pool optimization.
46 * Turned off by default.
47 */
48 DECLARE_CLDNN_CONFIG_KEY(MEM_POOL);
49
50 /**
51 * @brief This key defines the directory name to which clDNN graph visualization will be dumped.
52 */
53 DECLARE_CLDNN_CONFIG_KEY(GRAPH_DUMPS_DIR);
54
55 /**
56 * @brief This key defines the directory name to which full program sources will be dumped.
57 */
58 DECLARE_CLDNN_CONFIG_KEY(SOURCES_DUMPS_DIR);
59
60 }  // namespace CLDNNConfigParams
61 }  // namespace InferenceEngine