<!-- 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: include/armnn/IProfiler.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">20.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('_i_profiler_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">IProfiler.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_i_profiler_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 © 2017 Arm Ltd. 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;iostream&gt;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearmnn.xhtml">armnn</a></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;</div><div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classarmnn_1_1_i_profiler.xhtml">   13</a></span>&#160;<span class="keyword">class </span><a class="code" href="classarmnn_1_1_i_profiler.xhtml">IProfiler</a></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;{</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    /// Enables/disables profiling for this profiler.</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    /// @param [in] enableProfiling A flag that indicates whether profiling should be enabled or not.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classarmnn_1_1_i_profiler.xhtml#a769cdf670bd7cda3cda29dd40fbdebf4">EnableProfiling</a>(<span class="keywordtype">bool</span> enableProfiling) = 0;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">    /// Checks whether profiling is enabled.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">    /// Profiling is disabled by default.</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">    /// @return true if profiling is enabled, false otherwise.</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classarmnn_1_1_i_profiler.xhtml#a1ebebad65df6718dc07aeab66550d0a7">IsProfilingEnabled</a>() = 0;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">    /// Analyzes the tracked events and writes the results to the given output stream.</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">    /// Please refer to the configuration variables in Profiling.cpp to customize the information written.</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">    /// @param [out] outStream The stream where to write the profiling results to.</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classarmnn_1_1_i_profiler.xhtml#aea4e445e340cb3a7fbb51465cf029724">AnalyzeEventsAndWriteResults</a>(std::ostream&amp; outStream) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">    /// Print stats for events in JSON Format to the given output stream.</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">    /// @param [out] outStream The stream where to write the profiling results to.</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classarmnn_1_1_i_profiler.xhtml#aa369a934075a340fe59b7c9f481f9a57">Print</a>(std::ostream&amp; outStream) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classarmnn_1_1_i_profiler.xhtml#a3e96ca374a63bd8547fe68a5d9809df7">   35</a></span>&#160;    <a class="code" href="classarmnn_1_1_i_profiler.xhtml#a3e96ca374a63bd8547fe68a5d9809df7">~IProfiler</a>() {}</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;};</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;} <span class="comment">// namespace armnn</span></div><div class="ttc" id="classarmnn_1_1_i_profiler_xhtml_aea4e445e340cb3a7fbb51465cf029724"><div class="ttname"><a href="classarmnn_1_1_i_profiler.xhtml#aea4e445e340cb3a7fbb51465cf029724">armnn::IProfiler::AnalyzeEventsAndWriteResults</a></div><div class="ttdeci">virtual void AnalyzeEventsAndWriteResults(std::ostream &amp;outStream) const =0</div><div class="ttdoc">Analyzes the tracked events and writes the results to the given output stream. </div></div>
<div class="ttc" id="namespacearmnn_xhtml"><div class="ttname"><a href="namespacearmnn.xhtml">armnn</a></div><div class="ttdoc">Copyright (c) 2020 ARM Limited. </div><div class="ttdef"><b>Definition:</b> <a href="00__introduction_8dox_source.xhtml#l00025">00_introduction.dox:25</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_profiler_xhtml_aa369a934075a340fe59b7c9f481f9a57"><div class="ttname"><a href="classarmnn_1_1_i_profiler.xhtml#aa369a934075a340fe59b7c9f481f9a57">armnn::IProfiler::Print</a></div><div class="ttdeci">virtual void Print(std::ostream &amp;outStream) const =0</div><div class="ttdoc">Print stats for events in JSON Format to the given output stream. </div></div>
<div class="ttc" id="classarmnn_1_1_i_profiler_xhtml_a769cdf670bd7cda3cda29dd40fbdebf4"><div class="ttname"><a href="classarmnn_1_1_i_profiler.xhtml#a769cdf670bd7cda3cda29dd40fbdebf4">armnn::IProfiler::EnableProfiling</a></div><div class="ttdeci">virtual void EnableProfiling(bool enableProfiling)=0</div><div class="ttdoc">Enables/disables profiling for this profiler. </div></div>
<div class="ttc" id="classarmnn_1_1_i_profiler_xhtml"><div class="ttname"><a href="classarmnn_1_1_i_profiler.xhtml">armnn::IProfiler</a></div><div class="ttdef"><b>Definition:</b> <a href="_i_profiler_8hpp_source.xhtml#l00013">IProfiler.hpp:13</a></div></div>
<div class="ttc" id="classarmnn_1_1_i_profiler_xhtml_a1ebebad65df6718dc07aeab66550d0a7"><div class="ttname"><a href="classarmnn_1_1_i_profiler.xhtml#a1ebebad65df6718dc07aeab66550d0a7">armnn::IProfiler::IsProfilingEnabled</a></div><div class="ttdeci">virtual bool IsProfilingEnabled()=0</div><div class="ttdoc">Checks whether profiling is enabled. </div></div>
<div class="ttc" id="classarmnn_1_1_i_profiler_xhtml_a3e96ca374a63bd8547fe68a5d9809df7"><div class="ttname"><a href="classarmnn_1_1_i_profiler.xhtml#a3e96ca374a63bd8547fe68a5d9809df7">armnn::IProfiler::~IProfiler</a></div><div class="ttdeci">~IProfiler()</div><div class="ttdef"><b>Definition:</b> <a href="_i_profiler_8hpp_source.xhtml#l00035">IProfiler.hpp:35</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_d44c64559bbebec7f509842c48db8b23.xhtml">include</a></li><li class="navelem"><a class="el" href="dir_2b72cc348e06937955e62ebdd8a13436.xhtml">armnn</a></li><li class="navelem"><a class="el" href="_i_profiler_8hpp.xhtml">IProfiler.hpp</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:08 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>
