aboutsummaryrefslogtreecommitdiff
path: root/21.02/_delegate_options_8hpp_source.xhtml
blob: 84299a9a7231da163ac5345f34878503ec402185 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: delegate/include/DelegateOptions.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">21.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_delegate_options_8hpp_source.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">DelegateOptions.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_delegate_options_8hpp.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// SPDX-License-Identifier: MIT</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_arm_n_n_8hpp.xhtml">armnn/ArmNN.hpp</a>&gt;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_logging_8hpp.xhtml">armnn/Logging.hpp</a>&gt;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="_optional_8hpp.xhtml">armnn/Optional.hpp</a>&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearmnn_delegate.xhtml">armnnDelegate</a></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;{</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml">   19</a></span>&#160;<span class="keyword">class </span><a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml">DelegateOptions</a></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;{</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a318c3a715a80b7288e39c7daa8ef8494">DelegateOptions</a>(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456ae">armnn::Compute</a> computeDevice,</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;                    <span class="keyword">const</span> std::vector&lt;armnn::BackendOptions&gt;&amp; backendOptions = {},</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;                    <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::LogSeverity&gt;</a> logSeverityLevel = <a class="code" href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a>());</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a318c3a715a80b7288e39c7daa8ef8494">DelegateOptions</a>(<span class="keyword">const</span> std::vector&lt;armnn::BackendId&gt;&amp; backends,</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;                    <span class="keyword">const</span> std::vector&lt;armnn::BackendOptions&gt;&amp; backendOptions = {},</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                    <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::LogSeverity&gt;</a> logSeverityLevel = <a class="code" href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a>());</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a318c3a715a80b7288e39c7daa8ef8494">DelegateOptions</a>(<a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456ae">armnn::Compute</a> computeDevice,</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                    <span class="keyword">const</span> <a class="code" href="structarmnn_1_1_optimizer_options.xhtml">armnn::OptimizerOptions</a>&amp; optimizerOptions,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::LogSeverity&gt;</a>&amp; logSeverityLevel = <a class="code" href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a>(),</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::DebugCallbackFunction&gt;</a>&amp; func = <a class="code" href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a>());</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a318c3a715a80b7288e39c7daa8ef8494">DelegateOptions</a>(<span class="keyword">const</span> std::vector&lt;armnn::BackendId&gt;&amp; backends,</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                    <span class="keyword">const</span> <a class="code" href="structarmnn_1_1_optimizer_options.xhtml">armnn::OptimizerOptions</a>&amp; optimizerOptions,</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::LogSeverity&gt;</a>&amp; logSeverityLevel = <a class="code" href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a>(),</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::DebugCallbackFunction&gt;</a>&amp; func = <a class="code" href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a>());</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#ad95feca4087d8e42ecacc1950a3d3901">   40</a></span>&#160;    <span class="keyword">const</span> std::vector&lt;armnn::BackendId&gt;&amp; <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#ad95feca4087d8e42ecacc1950a3d3901">GetBackends</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_Backends; }</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#ad9d8dd6ed903c0ae3c4baa3e9d2e4ea5">   42</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#ad9d8dd6ed903c0ae3c4baa3e9d2e4ea5">SetBackends</a>(<span class="keyword">const</span> std::vector&lt;armnn::BackendId&gt;&amp; backends) { m_Backends = backends; }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#a601170c5bc75674017b891c58f9f175b">   44</a></span>&#160;    <span class="keyword">const</span> std::vector&lt;armnn::BackendOptions&gt;&amp; <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a601170c5bc75674017b891c58f9f175b">GetBackendOptions</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_BackendOptions; }</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">    /// Appends a backend option to the list of backend options</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#a8b99570afa7d17ce4b1c7dab770fe467">   47</a></span>&#160;<span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a8b99570afa7d17ce4b1c7dab770fe467">AddBackendOption</a>(<span class="keyword">const</span> <a class="code" href="structarmnn_1_1_backend_options.xhtml">armnn::BackendOptions</a>&amp; option) { m_BackendOptions.push_back(option); }</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">    /// Sets the severity level for logging within ArmNN that will be used on creation of the delegate</span></div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#a98cd1055c58e98f7009c4e770fac96ec">   50</a></span>&#160;<span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a98cd1055c58e98f7009c4e770fac96ec">SetLoggingSeverity</a>(<span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#a93a3ba385cad27c4774e5fe64c025d3d">armnn::LogSeverity</a>&amp; level) { m_LoggingSeverity = level; }</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#a337e16dd51a972e2162870e01d48dbc2">   51</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a337e16dd51a972e2162870e01d48dbc2">SetLoggingSeverity</a>(<span class="keyword">const</span> std::string&amp; level) { m_LoggingSeverity = <a class="code" href="namespacearmnn.xhtml#aaaddf7d8f68eae6c1bf90e4ec3cb5490">armnn::StringToLogLevel</a>(level); }</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">    /// Returns the severity level for logging within ArmNN</span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#ad0c06976f83fdc6c393ad85ea23d97b6">   54</a></span>&#160;<span class="comment"></span>    <a class="code" href="namespacearmnn.xhtml#a93a3ba385cad27c4774e5fe64c025d3d">armnn::LogSeverity</a> <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#ad0c06976f83fdc6c393ad85ea23d97b6">GetLoggingSeverity</a>() { <span class="keywordflow">return</span> m_LoggingSeverity.<a class="code" href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">value</a>(); }</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#a9c8c866c00936945dcb0bac65195488b">   56</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a9c8c866c00936945dcb0bac65195488b">IsLoggingEnabled</a>() { <span class="keywordflow">return</span> m_LoggingSeverity.<a class="code" href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">has_value</a>(); }</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#a7a24e0a6cebcc7d3383b83baac556be4">   58</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="structarmnn_1_1_optimizer_options.xhtml">armnn::OptimizerOptions</a>&amp; <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a7a24e0a6cebcc7d3383b83baac556be4">GetOptimizerOptions</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_OptimizerOptions; }</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#ab4a44278190ff1282d94d6a1a39e77ee">   60</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#ab4a44278190ff1282d94d6a1a39e77ee">SetOptimizerOptions</a>(<span class="keyword">const</span> <a class="code" href="structarmnn_1_1_optimizer_options.xhtml">armnn::OptimizerOptions</a>&amp; optimizerOptions) { m_OptimizerOptions = optimizerOptions; }</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classarmnn_delegate_1_1_delegate_options.xhtml#a88eb9e3a0ed5f64cfc6fe460d1621520">   62</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::DebugCallbackFunction&gt;</a>&amp; <a class="code" href="classarmnn_delegate_1_1_delegate_options.xhtml#a88eb9e3a0ed5f64cfc6fe460d1621520">GetDebugCallbackFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">        </span>{ <span class="keywordflow">return</span> m_DebugCallbackFunc; }</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">private</span>:<span class="comment"></span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">    /// Which backend to run Delegate on.</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">    /// Examples of possible values are: CpuRef, CpuAcc, GpuAcc.</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">    /// CpuRef as default.</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"></span>    std::vector&lt;armnn::BackendId&gt; m_Backends = { <a class="code" href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea83c2c4e9b658ccafbcbe6309c5d84c64">armnn::Compute::CpuRef</a> };</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">    /// Pass backend specific options to Delegate</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">    ///</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">    /// For example, tuning can be enabled on GpuAcc like below</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">    /// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">    /// m_BackendOptions.emplace_back(</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">    ///     BackendOptions{&quot;GpuAcc&quot;,</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">    ///       {</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">    ///         {&quot;TuningLevel&quot;, 2},</span></div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">    ///         {&quot;TuningFile&quot;, filename}</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">    ///       }</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">    ///     });</span></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">    /// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">    /// The following backend options are available:</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">    /// GpuAcc:</span></div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">    ///   &quot;TuningLevel&quot; : int [0..3] (0=UseOnly(default) | 1=RapidTuning | 2=NormalTuning | 3=ExhaustiveTuning)</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">    ///   &quot;TuningFile&quot; : string [filenameString]</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">    ///   &quot;KernelProfilingEnabled&quot; : bool [true | false]</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment"></span>    std::vector&lt;armnn::BackendOptions&gt; m_BackendOptions;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">    /// OptimizerOptions</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">    /// Reduce Fp32 data to Fp16 for faster processing</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">    /// bool m_ReduceFp32ToFp16;</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">    /// Add debug data for easier troubleshooting</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">    /// bool m_Debug;</span></div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">    /// Reduce Fp32 data to Bf16 for faster processing</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">    /// bool m_ReduceFp32ToBf16;</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">    /// Enable Import</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">    /// bool m_ImportEnabled;</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">    /// Enable Model Options</span></div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">    /// ModelOptions m_ModelOptions;</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment"></span>    <a class="code" href="structarmnn_1_1_optimizer_options.xhtml">armnn::OptimizerOptions</a> m_OptimizerOptions;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">    /// Severity level for logging within ArmNN that will be used on creation of the delegate</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment"></span>    <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::LogSeverity&gt;</a> m_LoggingSeverity;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">    /// A callback function to debug layers performing custom computations on intermediate tensors.</span></div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">    /// If a function is not registered, and debug is enabled in OptimizerOptions,</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">    /// debug will print information of the intermediate tensors.</span></div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment"></span>     <a class="code" href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt;armnn::DebugCallbackFunction&gt;</a> m_DebugCallbackFunc;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;};</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;} <span class="comment">// namespace armnnDelegate</span></div><div class="ttc" id="namespacearmnn_xhtml_ae2f04a162585c0a5222a537efd5456aea83c2c4e9b658ccafbcbe6309c5d84c64"><div class="ttname"><a href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456aea83c2c4e9b658ccafbcbe6309c5d84c64">armnn::Compute::CpuRef</a></div><div class="ttdoc">CPU Execution: Reference C++ kernels. </div></div>
<div class="ttc" id="classarmnn_1_1_optional_xhtml"><div class="ttname"><a href="classarmnn_1_1_optional.xhtml">armnn::Optional&lt; armnn::LogSeverity &gt;</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_aaaddf7d8f68eae6c1bf90e4ec3cb5490"><div class="ttname"><a href="namespacearmnn.xhtml#aaaddf7d8f68eae6c1bf90e4ec3cb5490">armnn::StringToLogLevel</a></div><div class="ttdeci">LogSeverity StringToLogLevel(std::string level)</div><div class="ttdef"><b>Definition:</b> <a href="_logging_8hpp_source.xhtml#l00036">Logging.hpp:36</a></div></div>
<div class="ttc" id="_arm_n_n_8hpp_xhtml"><div class="ttname"><a href="_arm_n_n_8hpp.xhtml">ArmNN.hpp</a></div></div>
<div class="ttc" id="classarmnn_1_1_optional_reference_switch_xhtml_a77c7d528ac063d870b8c8426ec81c1c3"><div class="ttname"><a href="classarmnn_1_1_optional_reference_switch.xhtml#a77c7d528ac063d870b8c8426ec81c1c3">armnn::OptionalReferenceSwitch::value</a></div><div class="ttdeci">const T &amp; value() const</div><div class="ttdef"><b>Definition:</b> <a href="_optional_8hpp_source.xhtml#l00146">Optional.hpp:146</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_ae2f04a162585c0a5222a537efd5456ae"><div class="ttname"><a href="namespacearmnn.xhtml#ae2f04a162585c0a5222a537efd5456ae">armnn::Compute</a></div><div class="ttdeci">Compute</div><div class="ttdoc">The Compute enum is now deprecated and it is now being replaced by BackendId. </div><div class="ttdef"><b>Definition:</b> <a href="_backend_id_8hpp_source.xhtml#l00021">BackendId.hpp:21</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a7a24e0a6cebcc7d3383b83baac556be4"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a7a24e0a6cebcc7d3383b83baac556be4">armnnDelegate::DelegateOptions::GetOptimizerOptions</a></div><div class="ttdeci">const armnn::OptimizerOptions &amp; GetOptimizerOptions() const</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00058">DelegateOptions.hpp:58</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a318c3a715a80b7288e39c7daa8ef8494"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a318c3a715a80b7288e39c7daa8ef8494">armnnDelegate::DelegateOptions::DelegateOptions</a></div><div class="ttdeci">DelegateOptions(armnn::Compute computeDevice, const std::vector&lt; armnn::BackendOptions &gt; &amp;backendOptions={}, armnn::Optional&lt; armnn::LogSeverity &gt; logSeverityLevel=armnn::EmptyOptional())</div></div>
<div class="ttc" id="_optional_8hpp_xhtml"><div class="ttname"><a href="_optional_8hpp.xhtml">Optional.hpp</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a601170c5bc75674017b891c58f9f175b"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a601170c5bc75674017b891c58f9f175b">armnnDelegate::DelegateOptions::GetBackendOptions</a></div><div class="ttdeci">const std::vector&lt; armnn::BackendOptions &gt; &amp; GetBackendOptions() const</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00044">DelegateOptions.hpp:44</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a98cd1055c58e98f7009c4e770fac96ec"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a98cd1055c58e98f7009c4e770fac96ec">armnnDelegate::DelegateOptions::SetLoggingSeverity</a></div><div class="ttdeci">void SetLoggingSeverity(const armnn::LogSeverity &amp;level)</div><div class="ttdoc">Sets the severity level for logging within ArmNN that will be used on creation of the delegate...</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00050">DelegateOptions.hpp:50</a></div></div>
<div class="ttc" id="classarmnn_1_1_optional_base_xhtml_a86b749ce2c4bc627fa8a1fcfaf0e314f"><div class="ttname"><a href="classarmnn_1_1_optional_base.xhtml#a86b749ce2c4bc627fa8a1fcfaf0e314f">armnn::OptionalBase::has_value</a></div><div class="ttdeci">bool has_value() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="_optional_8hpp_source.xhtml#l00053">Optional.hpp:53</a></div></div>
<div class="ttc" id="structarmnn_1_1_optimizer_options_xhtml"><div class="ttname"><a href="structarmnn_1_1_optimizer_options.xhtml">armnn::OptimizerOptions</a></div><div class="ttdef"><b>Definition:</b> <a href="_i_network_8hpp_source.xhtml#l00110">INetwork.hpp:110</a></div></div>
<div class="ttc" id="_logging_8hpp_xhtml"><div class="ttname"><a href="_logging_8hpp.xhtml">Logging.hpp</a></div></div>
<div class="ttc" id="namespacearmnn_delegate_xhtml"><div class="ttname"><a href="namespacearmnn_delegate.xhtml">armnnDelegate</a></div><div class="ttdef"><b>Definition:</b> <a href="armnn__delegate_8hpp_source.xhtml#l00015">armnn_delegate.hpp:15</a></div></div>
<div class="ttc" id="structarmnn_1_1_backend_options_xhtml"><div class="ttname"><a href="structarmnn_1_1_backend_options.xhtml">armnn::BackendOptions</a></div><div class="ttdoc">Struct for the users to pass backend specific options. </div><div class="ttdef"><b>Definition:</b> <a href="_backend_options_8hpp_source.xhtml#l00020">BackendOptions.hpp:20</a></div></div>
<div class="ttc" id="structarmnn_1_1_empty_optional_xhtml"><div class="ttname"><a href="structarmnn_1_1_empty_optional.xhtml">armnn::EmptyOptional</a></div><div class="ttdoc">EmptyOptional is used to initialize the Optional class in case we want to have default value for an O...</div><div class="ttdef"><b>Definition:</b> <a href="_optional_8hpp_source.xhtml#l00032">Optional.hpp:32</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a9c8c866c00936945dcb0bac65195488b"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a9c8c866c00936945dcb0bac65195488b">armnnDelegate::DelegateOptions::IsLoggingEnabled</a></div><div class="ttdeci">bool IsLoggingEnabled()</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00056">DelegateOptions.hpp:56</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_ad9d8dd6ed903c0ae3c4baa3e9d2e4ea5"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#ad9d8dd6ed903c0ae3c4baa3e9d2e4ea5">armnnDelegate::DelegateOptions::SetBackends</a></div><div class="ttdeci">void SetBackends(const std::vector&lt; armnn::BackendId &gt; &amp;backends)</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00042">DelegateOptions.hpp:42</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_ad95feca4087d8e42ecacc1950a3d3901"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#ad95feca4087d8e42ecacc1950a3d3901">armnnDelegate::DelegateOptions::GetBackends</a></div><div class="ttdeci">const std::vector&lt; armnn::BackendId &gt; &amp; GetBackends() const</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00040">DelegateOptions.hpp:40</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml">armnnDelegate::DelegateOptions</a></div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00019">DelegateOptions.hpp:19</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a88eb9e3a0ed5f64cfc6fe460d1621520"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a88eb9e3a0ed5f64cfc6fe460d1621520">armnnDelegate::DelegateOptions::GetDebugCallbackFunction</a></div><div class="ttdeci">const armnn::Optional&lt; armnn::DebugCallbackFunction &gt; &amp; GetDebugCallbackFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00062">DelegateOptions.hpp:62</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a8b99570afa7d17ce4b1c7dab770fe467"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a8b99570afa7d17ce4b1c7dab770fe467">armnnDelegate::DelegateOptions::AddBackendOption</a></div><div class="ttdeci">void AddBackendOption(const armnn::BackendOptions &amp;option)</div><div class="ttdoc">Appends a backend option to the list of backend options. </div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00047">DelegateOptions.hpp:47</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_ad0c06976f83fdc6c393ad85ea23d97b6"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#ad0c06976f83fdc6c393ad85ea23d97b6">armnnDelegate::DelegateOptions::GetLoggingSeverity</a></div><div class="ttdeci">armnn::LogSeverity GetLoggingSeverity()</div><div class="ttdoc">Returns the severity level for logging within ArmNN. </div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00054">DelegateOptions.hpp:54</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_ab4a44278190ff1282d94d6a1a39e77ee"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#ab4a44278190ff1282d94d6a1a39e77ee">armnnDelegate::DelegateOptions::SetOptimizerOptions</a></div><div class="ttdeci">void SetOptimizerOptions(const armnn::OptimizerOptions &amp;optimizerOptions)</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00060">DelegateOptions.hpp:60</a></div></div>
<div class="ttc" id="classarmnn_delegate_1_1_delegate_options_xhtml_a337e16dd51a972e2162870e01d48dbc2"><div class="ttname"><a href="classarmnn_delegate_1_1_delegate_options.xhtml#a337e16dd51a972e2162870e01d48dbc2">armnnDelegate::DelegateOptions::SetLoggingSeverity</a></div><div class="ttdeci">void SetLoggingSeverity(const std::string &amp;level)</div><div class="ttdef"><b>Definition:</b> <a href="_delegate_options_8hpp_source.xhtml#l00051">DelegateOptions.hpp:51</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a93a3ba385cad27c4774e5fe64c025d3d"><div class="ttname"><a href="namespacearmnn.xhtml#a93a3ba385cad27c4774e5fe64c025d3d">armnn::LogSeverity</a></div><div class="ttdeci">LogSeverity</div><div class="ttdef"><b>Definition:</b> <a href="_utils_8hpp_source.xhtml#l00013">Utils.hpp:13</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_8dcde0c2eaea8bb7ad9196fbb23d9248.xhtml">delegate</a></li><li class="navelem"><a class="el" href="dir_ff7186a105a681fd13556c7920962981.xhtml">include</a></li><li class="navelem"><a class="el" href="_delegate_options_8hpp.xhtml">DelegateOptions.hpp</a></li>
    <li class="footer">Generated on Thu Feb 25 2021 17:27:28 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>