blob: 0fb70abde5e199926e978dca830ae9fc25e537ba [file] [log] [blame]
Nikhil Raj38b600d2024-02-15 15:02:19 +00001<!-- HTML header for doxygen 1.8.17-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.17"/>
8<meta name="viewport" content="width=device-width, initial-scale=1"/>
9<title>Arm NN: NeonInterceptorScheduler Class Reference</title>
10<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
15<script type="text/javascript" src="navtreedata.js"></script>
16<script type="text/javascript" src="navtree.js"></script>
17<link href="search/search.css" rel="stylesheet" type="text/css"/>
18<script type="text/javascript" src="search/searchdata.js"></script>
19<script type="text/javascript" src="search/search.js"></script>
20<script type="text/x-mathjax-config">
21 MathJax.Hub.Config({
22 extensions: ["tex2jax.js"],
23 jax: ["input/TeX","output/HTML-CSS"],
24});
25</script>
26<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
27<link href="doxygen.css" rel="stylesheet" type="text/css" />
28<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
29</head>
30<body>
31<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
32<div id="titlearea">
33<table cellspacing="0" cellpadding="0">
34 <tbody>
35 <tr style="height: 56px;">
36 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
37 <td id="projectalign" style="padding-left: 0.9em;">
38 <div id="projectname">
39 &#160;<span id="projectnumber">24.02</span>
40 </div>
41 </td>
42 </tr>
43 </tbody>
44</table>
45</div>
46<!-- end header part -->
47<!-- Generated by Doxygen 1.8.17 -->
48<script type="text/javascript">
49/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
50var searchBox = new SearchBox("searchBox", "search",false,'Search');
51/* @license-end */
52</script>
53<script type="text/javascript" src="menudata.js"></script>
54<script type="text/javascript" src="menu.js"></script>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(function() {
58 initMenu('',true,false,'search.php','Search');
59 $(document).ready(function() { init_search(); });
60});
61/* @license-end */</script>
62<div id="main-nav"></div>
63</div><!-- top -->
64<div id="side-nav" class="ui-resizable side-nav-resizable">
65 <div id="nav-tree">
66 <div id="nav-tree-contents">
67 <div id="nav-sync" class="sync"></div>
68 </div>
69 </div>
70 <div id="splitbar" style="-moz-user-select:none;"
71 class="ui-resizable-handle">
72 </div>
73</div>
74<script type="text/javascript">
75/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
76$(document).ready(function(){initNavTree('classarmnn_1_1_neon_interceptor_scheduler.html',''); initResizable(); });
77/* @license-end */
78</script>
79<div id="doc-content">
80<!-- window showing the filter options -->
81<div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85</div>
86
87<!-- iframe showing the search results (closed by default) -->
88<div id="MSearchResultsWindow">
89<iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91</iframe>
92</div>
93
94<div class="header">
95 <div class="summary">
96<a href="#pub-methods">Public Member Functions</a> &#124;
97<a href="classarmnn_1_1_neon_interceptor_scheduler-members.html">List of all members</a> </div>
98 <div class="headertitle">
99<div class="title">NeonInterceptorScheduler Class Reference</div> </div>
100</div><!--header-->
101<div class="contents">
102
103<p><code>#include &lt;<a class="el" href="_neon_interceptor_scheduler_8hpp_source.html">NeonInterceptorScheduler.hpp</a>&gt;</code></p>
104<div class="dynheader">
105Inheritance diagram for NeonInterceptorScheduler:</div>
106<div class="dyncontent">
107<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_neon_interceptor_scheduler__inherit__graph.svg" width="202" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
108</div>
109<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
110<div class="dynheader">
111Collaboration diagram for NeonInterceptorScheduler:</div>
112<div class="dyncontent">
113<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_neon_interceptor_scheduler__coll__graph.svg" width="202" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
114</div>
115<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
116<table class="memberdecls">
117<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
118Public Member Functions</h2></td></tr>
119<tr class="memitem:a54394a4d67b6c4e7878cdf36ace0b9a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#a54394a4d67b6c4e7878cdf36ace0b9a8">NeonInterceptorScheduler</a> (arm_compute::IScheduler &amp;realScheduler)</td></tr>
120<tr class="separator:a54394a4d67b6c4e7878cdf36ace0b9a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a896550e0f6cf5c9d7fa652e04529a06e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#a896550e0f6cf5c9d7fa652e04529a06e">~NeonInterceptorScheduler</a> ()=default</td></tr>
122<tr class="separator:a896550e0f6cf5c9d7fa652e04529a06e"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:ad0debf97bd7013d6aadba6db2fd0dc14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#ad0debf97bd7013d6aadba6db2fd0dc14">set_num_threads</a> (unsigned int numThreads) override</td></tr>
124<tr class="separator:ad0debf97bd7013d6aadba6db2fd0dc14"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:a0da94220ee1e0f4928aa31ed0d4b30f7"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#a0da94220ee1e0f4928aa31ed0d4b30f7">num_threads</a> () const override</td></tr>
126<tr class="separator:a0da94220ee1e0f4928aa31ed0d4b30f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:ae5ed8b38eb9777881ee7c7e56025b5cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#ae5ed8b38eb9777881ee7c7e56025b5cb">schedule</a> (arm_compute::ICPPKernel *kernel, const Hints &amp;hints) override</td></tr>
128<tr class="separator:ae5ed8b38eb9777881ee7c7e56025b5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<tr class="memitem:acbe7dbaeedd9d2cf45f50a4c1c4260c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#acbe7dbaeedd9d2cf45f50a4c1c4260c3">run_workloads</a> (std::vector&lt; Workload &gt; &amp;workloads) override</td></tr>
130<tr class="separator:acbe7dbaeedd9d2cf45f50a4c1c4260c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<tr class="memitem:a666fa6ef79ac975094aaf8844ffee914"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#a666fa6ef79ac975094aaf8844ffee914">run_tagged_workloads</a> (std::vector&lt; Workload &gt; &amp;workloads, const char *tag) override</td></tr>
132<tr class="separator:a666fa6ef79ac975094aaf8844ffee914"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:a263bc4fda3d6b99de64681a2ae5661ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#a263bc4fda3d6b99de64681a2ae5661ef">SetKernels</a> (<a class="el" href="classarmnn_1_1_neon_timer.html#a278b62df38ce93dfb6de3fa2a711f5bb">NeonTimer::KernelMeasurements</a> *kernels)</td></tr>
134<tr class="separator:a263bc4fda3d6b99de64681a2ae5661ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<tr class="memitem:ac050f766763f2140578363b25f324617"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_neon_timer.html#a278b62df38ce93dfb6de3fa2a711f5bb">NeonTimer::KernelMeasurements</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#ac050f766763f2140578363b25f324617">GetKernels</a> ()</td></tr>
136<tr class="separator:ac050f766763f2140578363b25f324617"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:aaace9a11bd4824ee1f2b40488da0064d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html#aaace9a11bd4824ee1f2b40488da0064d">schedule_op</a> (arm_compute::ICPPKernel *kernel, const Hints &amp;hints, const arm_compute::Window &amp;window, arm_compute::ITensorPack &amp;tensors) override</td></tr>
138<tr class="separator:aaace9a11bd4824ee1f2b40488da0064d"><td class="memSeparator" colspan="2">&#160;</td></tr>
139</table>
140<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
141<div class="textblock">
142<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8hpp_source.html#l00017">17</a> of file <a class="el" href="_neon_interceptor_scheduler_8hpp_source.html">NeonInterceptorScheduler.hpp</a>.</p>
143</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
144<a id="a54394a4d67b6c4e7878cdf36ace0b9a8"></a>
145<h2 class="memtitle"><span class="permalink"><a href="#a54394a4d67b6c4e7878cdf36ace0b9a8">&#9670;&nbsp;</a></span>NeonInterceptorScheduler()</h2>
146
147<div class="memitem">
148<div class="memproto">
149 <table class="memname">
150 <tr>
151 <td class="memname"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html">NeonInterceptorScheduler</a> </td>
152 <td>(</td>
153 <td class="paramtype">arm_compute::IScheduler &amp;&#160;</td>
154 <td class="paramname"><em>realScheduler</em></td><td>)</td>
155 <td></td>
156 </tr>
157 </table>
158</div><div class="memdoc">
159
160<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html#l00010">10</a> of file <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a>.</p>
161<div class="fragment"><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; : m_Kernels(<span class="keyword">nullptr</span>), m_RealScheduler(realScheduler)</div>
162<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;{</div>
163<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;}</div>
164</div><!-- fragment -->
165</div>
166</div>
167<a id="a896550e0f6cf5c9d7fa652e04529a06e"></a>
168<h2 class="memtitle"><span class="permalink"><a href="#a896550e0f6cf5c9d7fa652e04529a06e">&#9670;&nbsp;</a></span>~NeonInterceptorScheduler()</h2>
169
170<div class="memitem">
171<div class="memproto">
172<table class="mlabels">
173 <tr>
174 <td class="mlabels-left">
175 <table class="memname">
176 <tr>
177 <td class="memname">~<a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html">NeonInterceptorScheduler</a> </td>
178 <td>(</td>
179 <td class="paramname"></td><td>)</td>
180 <td></td>
181 </tr>
182 </table>
183 </td>
184 <td class="mlabels-right">
185<span class="mlabels"><span class="mlabel">default</span></span> </td>
186 </tr>
187</table>
188</div><div class="memdoc">
189
190</div>
191</div>
192<h2 class="groupheader">Member Function Documentation</h2>
193<a id="ac050f766763f2140578363b25f324617"></a>
194<h2 class="memtitle"><span class="permalink"><a href="#ac050f766763f2140578363b25f324617">&#9670;&nbsp;</a></span>GetKernels()</h2>
195
196<div class="memitem">
197<div class="memproto">
198<table class="mlabels">
199 <tr>
200 <td class="mlabels-left">
201 <table class="memname">
202 <tr>
203 <td class="memname"><a class="el" href="classarmnn_1_1_neon_timer.html#a278b62df38ce93dfb6de3fa2a711f5bb">NeonTimer::KernelMeasurements</a>* GetKernels </td>
204 <td>(</td>
205 <td class="paramname"></td><td>)</td>
206 <td></td>
207 </tr>
208 </table>
209 </td>
210 <td class="mlabels-right">
211<span class="mlabels"><span class="mlabel">inline</span></span> </td>
212 </tr>
213</table>
214</div><div class="memdoc">
215
216<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8hpp_source.html#l00034">34</a> of file <a class="el" href="_neon_interceptor_scheduler_8hpp_source.html">NeonInterceptorScheduler.hpp</a>.</p>
217<div class="fragment"><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;{ <span class="keywordflow">return</span> m_Kernels; }</div>
218</div><!-- fragment -->
219</div>
220</div>
221<a id="a0da94220ee1e0f4928aa31ed0d4b30f7"></a>
222<h2 class="memtitle"><span class="permalink"><a href="#a0da94220ee1e0f4928aa31ed0d4b30f7">&#9670;&nbsp;</a></span>num_threads()</h2>
223
224<div class="memitem">
225<div class="memproto">
226<table class="mlabels">
227 <tr>
228 <td class="mlabels-left">
229 <table class="memname">
230 <tr>
231 <td class="memname">unsigned int num_threads </td>
232 <td>(</td>
233 <td class="paramname"></td><td>)</td>
234 <td> const</td>
235 </tr>
236 </table>
237 </td>
238 <td class="mlabels-right">
239<span class="mlabels"><span class="mlabel">override</span></span> </td>
240 </tr>
241</table>
242</div><div class="memdoc">
243
244<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html#l00020">20</a> of file <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a>.</p>
245<div class="fragment"><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;{</div>
246<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keywordflow">return</span> m_RealScheduler.num_threads();</div>
247<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;}</div>
248</div><!-- fragment -->
249</div>
250</div>
251<a id="a666fa6ef79ac975094aaf8844ffee914"></a>
252<h2 class="memtitle"><span class="permalink"><a href="#a666fa6ef79ac975094aaf8844ffee914">&#9670;&nbsp;</a></span>run_tagged_workloads()</h2>
253
254<div class="memitem">
255<div class="memproto">
256<table class="mlabels">
257 <tr>
258 <td class="mlabels-left">
259 <table class="memname">
260 <tr>
261 <td class="memname">void run_tagged_workloads </td>
262 <td>(</td>
263 <td class="paramtype">std::vector&lt; Workload &gt; &amp;&#160;</td>
264 <td class="paramname"><em>workloads</em>, </td>
265 </tr>
266 <tr>
267 <td class="paramkey"></td>
268 <td></td>
269 <td class="paramtype">const char *&#160;</td>
270 <td class="paramname"><em>tag</em>&#160;</td>
271 </tr>
272 <tr>
273 <td></td>
274 <td>)</td>
275 <td></td><td></td>
276 </tr>
277 </table>
278 </td>
279 <td class="mlabels-right">
280<span class="mlabels"><span class="mlabel">override</span></span> </td>
281 </tr>
282</table>
283</div><div class="memdoc">
284
285<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html#l00045">45</a> of file <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a>.</p>
286<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div>
287<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; WallClockTimer::clock::time_point startTime = WallClockTimer::clock::now();</div>
288<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; m_RealScheduler.run_tagged_workloads(workloads, tag);</div>
289<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; WallClockTimer::clock::time_point stopTime = WallClockTimer::clock::now();</div>
290<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
291<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> delta = std::chrono::duration&lt;double, std::micro&gt;(stopTime - startTime);</div>
292<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; m_Kernels-&gt;emplace_back(std::string(tag != <span class="keyword">nullptr</span> ? tag : <span class="stringliteral">&quot;Unknown&quot;</span>), delta.count(), Measurement::Unit::TIME_US);</div>
293<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
294</div><!-- fragment -->
295</div>
296</div>
297<a id="acbe7dbaeedd9d2cf45f50a4c1c4260c3"></a>
298<h2 class="memtitle"><span class="permalink"><a href="#acbe7dbaeedd9d2cf45f50a4c1c4260c3">&#9670;&nbsp;</a></span>run_workloads()</h2>
299
300<div class="memitem">
301<div class="memproto">
302<table class="mlabels">
303 <tr>
304 <td class="mlabels-left">
305 <table class="memname">
306 <tr>
307 <td class="memname">void run_workloads </td>
308 <td>(</td>
309 <td class="paramtype">std::vector&lt; Workload &gt; &amp;&#160;</td>
310 <td class="paramname"><em>workloads</em></td><td>)</td>
311 <td></td>
312 </tr>
313 </table>
314 </td>
315 <td class="mlabels-right">
316<span class="mlabels"><span class="mlabel">override</span></span> </td>
317 </tr>
318</table>
319</div><div class="memdoc">
320
321<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html#l00035">35</a> of file <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a>.</p>
322<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{</div>
323<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; WallClockTimer::clock::time_point startTime = WallClockTimer::clock::now();</div>
324<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; m_RealScheduler.run_tagged_workloads(workloads, <span class="keyword">nullptr</span>);</div>
325<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; WallClockTimer::clock::time_point stopTime = WallClockTimer::clock::now();</div>
326<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
327<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> delta = std::chrono::duration&lt;double, std::micro&gt;(stopTime - startTime);</div>
328<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; m_Kernels-&gt;emplace_back(std::string(<span class="stringliteral">&quot;Workload&quot;</span>), delta.count(), Measurement::Unit::TIME_US);</div>
329<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div>
330</div><!-- fragment -->
331</div>
332</div>
333<a id="ae5ed8b38eb9777881ee7c7e56025b5cb"></a>
334<h2 class="memtitle"><span class="permalink"><a href="#ae5ed8b38eb9777881ee7c7e56025b5cb">&#9670;&nbsp;</a></span>schedule()</h2>
335
336<div class="memitem">
337<div class="memproto">
338<table class="mlabels">
339 <tr>
340 <td class="mlabels-left">
341 <table class="memname">
342 <tr>
343 <td class="memname">void schedule </td>
344 <td>(</td>
345 <td class="paramtype">arm_compute::ICPPKernel *&#160;</td>
346 <td class="paramname"><em>kernel</em>, </td>
347 </tr>
348 <tr>
349 <td class="paramkey"></td>
350 <td></td>
351 <td class="paramtype">const Hints &amp;&#160;</td>
352 <td class="paramname"><em>hints</em>&#160;</td>
353 </tr>
354 <tr>
355 <td></td>
356 <td>)</td>
357 <td></td><td></td>
358 </tr>
359 </table>
360 </td>
361 <td class="mlabels-right">
362<span class="mlabels"><span class="mlabel">override</span></span> </td>
363 </tr>
364</table>
365</div><div class="memdoc">
366
367<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html#l00025">25</a> of file <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a>.</p>
368<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;{</div>
369<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; WallClockTimer::clock::time_point startTime = WallClockTimer::clock::now();</div>
370<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; m_RealScheduler.schedule(kernel, hints.split_dimension());</div>
371<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; WallClockTimer::clock::time_point stopTime = WallClockTimer::clock::now();</div>
372<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
373<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> delta = std::chrono::duration&lt;double, std::micro&gt;(stopTime - startTime);</div>
374<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; m_Kernels-&gt;emplace_back(kernel-&gt;name(), delta.count(), Measurement::Unit::TIME_US);</div>
375<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;}</div>
376</div><!-- fragment -->
377</div>
378</div>
379<a id="aaace9a11bd4824ee1f2b40488da0064d"></a>
380<h2 class="memtitle"><span class="permalink"><a href="#aaace9a11bd4824ee1f2b40488da0064d">&#9670;&nbsp;</a></span>schedule_op()</h2>
381
382<div class="memitem">
383<div class="memproto">
384<table class="mlabels">
385 <tr>
386 <td class="mlabels-left">
387 <table class="memname">
388 <tr>
389 <td class="memname">void schedule_op </td>
390 <td>(</td>
391 <td class="paramtype">arm_compute::ICPPKernel *&#160;</td>
392 <td class="paramname"><em>kernel</em>, </td>
393 </tr>
394 <tr>
395 <td class="paramkey"></td>
396 <td></td>
397 <td class="paramtype">const Hints &amp;&#160;</td>
398 <td class="paramname"><em>hints</em>, </td>
399 </tr>
400 <tr>
401 <td class="paramkey"></td>
402 <td></td>
403 <td class="paramtype">const arm_compute::Window &amp;&#160;</td>
404 <td class="paramname"><em>window</em>, </td>
405 </tr>
406 <tr>
407 <td class="paramkey"></td>
408 <td></td>
409 <td class="paramtype">arm_compute::ITensorPack &amp;&#160;</td>
410 <td class="paramname"><em>tensors</em>&#160;</td>
411 </tr>
412 <tr>
413 <td></td>
414 <td>)</td>
415 <td></td><td></td>
416 </tr>
417 </table>
418 </td>
419 <td class="mlabels-right">
420<span class="mlabels"><span class="mlabel">override</span></span> </td>
421 </tr>
422</table>
423</div><div class="memdoc">
424
425<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html#l00055">55</a> of file <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a>.</p>
426<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
427<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
428<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; WallClockTimer::clock::time_point startTime = WallClockTimer::clock::now();</div>
429<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; m_RealScheduler.schedule_op(kernel, hints, window, tensors);</div>
430<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; WallClockTimer::clock::time_point stopTime = WallClockTimer::clock::now();</div>
431<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
432<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> delta = std::chrono::duration&lt;double, std::micro&gt;(stopTime - startTime);</div>
433<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; m_Kernels-&gt;emplace_back(kernel-&gt;name(), delta.count(), Measurement::Unit::TIME_US);</div>
434<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;}</div>
435</div><!-- fragment -->
436</div>
437</div>
438<a id="ad0debf97bd7013d6aadba6db2fd0dc14"></a>
439<h2 class="memtitle"><span class="permalink"><a href="#ad0debf97bd7013d6aadba6db2fd0dc14">&#9670;&nbsp;</a></span>set_num_threads()</h2>
440
441<div class="memitem">
442<div class="memproto">
443<table class="mlabels">
444 <tr>
445 <td class="mlabels-left">
446 <table class="memname">
447 <tr>
448 <td class="memname">void set_num_threads </td>
449 <td>(</td>
450 <td class="paramtype">unsigned int&#160;</td>
451 <td class="paramname"><em>numThreads</em></td><td>)</td>
452 <td></td>
453 </tr>
454 </table>
455 </td>
456 <td class="mlabels-right">
457<span class="mlabels"><span class="mlabel">override</span></span> </td>
458 </tr>
459</table>
460</div><div class="memdoc">
461
462<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html#l00015">15</a> of file <a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a>.</p>
463<div class="fragment"><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;{</div>
464<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; m_RealScheduler.set_num_threads(numThreads);</div>
465<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;}</div>
466</div><!-- fragment -->
467</div>
468</div>
469<a id="a263bc4fda3d6b99de64681a2ae5661ef"></a>
470<h2 class="memtitle"><span class="permalink"><a href="#a263bc4fda3d6b99de64681a2ae5661ef">&#9670;&nbsp;</a></span>SetKernels()</h2>
471
472<div class="memitem">
473<div class="memproto">
474<table class="mlabels">
475 <tr>
476 <td class="mlabels-left">
477 <table class="memname">
478 <tr>
479 <td class="memname">void SetKernels </td>
480 <td>(</td>
481 <td class="paramtype"><a class="el" href="classarmnn_1_1_neon_timer.html#a278b62df38ce93dfb6de3fa2a711f5bb">NeonTimer::KernelMeasurements</a> *&#160;</td>
482 <td class="paramname"><em>kernels</em></td><td>)</td>
483 <td></td>
484 </tr>
485 </table>
486 </td>
487 <td class="mlabels-right">
488<span class="mlabels"><span class="mlabel">inline</span></span> </td>
489 </tr>
490</table>
491</div><div class="memdoc">
492
493<p class="definition">Definition at line <a class="el" href="_neon_interceptor_scheduler_8hpp_source.html#l00033">33</a> of file <a class="el" href="_neon_interceptor_scheduler_8hpp_source.html">NeonInterceptorScheduler.hpp</a>.</p>
494<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{ m_Kernels = kernels; }</div>
495</div><!-- fragment -->
496</div>
497</div>
498<hr/>The documentation for this class was generated from the following files:<ul>
499<li>src/backends/neon/<a class="el" href="_neon_interceptor_scheduler_8hpp_source.html">NeonInterceptorScheduler.hpp</a></li>
500<li>src/backends/neon/<a class="el" href="_neon_interceptor_scheduler_8cpp_source.html">NeonInterceptorScheduler.cpp</a></li>
501</ul>
502</div><!-- contents -->
503</div><!-- doc-content -->
504<!-- start footer part -->
505<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
506 <ul>
507 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_neon_interceptor_scheduler.html">NeonInterceptorScheduler</a></li>
508 <li class="footer">Generated on Wed Feb 14 2024 16:36:23 for Arm NN by
509 <a href="http://www.doxygen.org/index.html">
510 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
511 </ul>
512</div>
513</body>
514</html>