<!-- 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: ProfilerManager Class Reference</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('classarmnn_1_1_profiler_manager.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="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classarmnn_1_1_profiler_manager-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ProfilerManager Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_profiling_8hpp_source.xhtml">Profiling.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a029a40ab5d837b3d4f5d3900ceb6a8f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiler_manager.xhtml#a029a40ab5d837b3d4f5d3900ceb6a8f9">RegisterProfiler</a> (<a class="el" href="classarmnn_1_1_profiler.xhtml">Profiler</a> *profiler)</td></tr>
<tr class="separator:a029a40ab5d837b3d4f5d3900ceb6a8f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18fdcafb1d421ba99c48205d93115936"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_profiler.xhtml">Profiler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiler_manager.xhtml#a18fdcafb1d421ba99c48205d93115936">GetProfiler</a> ()</td></tr>
<tr class="separator:a18fdcafb1d421ba99c48205d93115936"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a93857080c2523bf3395e7aa7e6024d5c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_1_1_profiler_manager.xhtml">ProfilerManager</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiler_manager.xhtml#a93857080c2523bf3395e7aa7e6024d5c">GetInstance</a> ()</td></tr>
<tr class="separator:a93857080c2523bf3395e7aa7e6024d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_profiling_8hpp_source.xhtml#l00093">93</a> of file <a class="el" href="_profiling_8hpp_source.xhtml">Profiling.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a93857080c2523bf3395e7aa7e6024d5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93857080c2523bf3395e7aa7e6024d5c">&#9670;&nbsp;</a></span>GetInstance()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarmnn_1_1_profiler_manager.xhtml">ProfilerManager</a> &amp; GetInstance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_profiling_8cpp_source.xhtml#l00487">487</a> of file <a class="el" href="_profiling_8cpp_source.xhtml">Profiling.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_profiler_tests_8cpp_source.xhtml#l00110">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_detection_post_process_test_impl_8hpp_source.xhtml#l00139">DetectionPostProcessImpl()</a>, <a class="el" href="_profiler_tests_8cpp_source.xhtml#l00023">armnn::GetProfilerEventSequenceSize()</a>, <a class="el" href="_json_printer_test_impl_8cpp_source.xhtml#l00120">GetSoftmaxProfilerJson()</a>, <a class="el" href="_loaded_network_8cpp_source.xhtml#l00085">LoadedNetwork::MakeLoadedNetwork()</a>, <a class="el" href="_unit_tests_8hpp_source.xhtml#l00063">RunTestFunction()</a>, and <a class="el" href="_profiling_8cpp_source.xhtml#l00177">Profiler::~Profiler()</a>.</p>
<div class="fragment"><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;{</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;    <span class="comment">// Global reference to the single ProfileManager instance allowed.</span></div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    <span class="keyword">static</span> ProfilerManager s_ProfilerManager;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keywordflow">return</span> s_ProfilerManager;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;}</div></div><!-- fragment -->
</div>
</div>
<a id="a18fdcafb1d421ba99c48205d93115936"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18fdcafb1d421ba99c48205d93115936">&#9670;&nbsp;</a></span>GetProfiler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarmnn_1_1_profiler.xhtml">Profiler</a> * GetProfiler </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_profiling_8cpp_source.xhtml#l00499">499</a> of file <a class="el" href="_profiling_8cpp_source.xhtml">Profiling.cpp</a>.</p>

<p class="reference">References <a class="el" href="_profiling_8cpp_source.xhtml#l00485">armnn::tl_Profiler</a>.</p>

<p class="reference">Referenced by <a class="el" href="_profiler_tests_8cpp_source.xhtml#l00110">BOOST_AUTO_TEST_CASE()</a>, and <a class="el" href="_profiler_tests_8cpp_source.xhtml#l00023">armnn::GetProfilerEventSequenceSize()</a>.</p>
<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;{</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a680b729be51e88d93f2cbbdfeb5eaf4d">tl_Profiler</a>;</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a680b729be51e88d93f2cbbdfeb5eaf4d"><div class="ttname"><a href="namespacearmnn.xhtml#a680b729be51e88d93f2cbbdfeb5eaf4d">armnn::tl_Profiler</a></div><div class="ttdeci">thread_local Profiler * tl_Profiler</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_8cpp_source.xhtml#l00485">Profiling.cpp:485</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a029a40ab5d837b3d4f5d3900ceb6a8f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a029a40ab5d837b3d4f5d3900ceb6a8f9">&#9670;&nbsp;</a></span>RegisterProfiler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RegisterProfiler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarmnn_1_1_profiler.xhtml">Profiler</a> *&#160;</td>
          <td class="paramname"><em>profiler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_profiling_8cpp_source.xhtml#l00494">494</a> of file <a class="el" href="_profiling_8cpp_source.xhtml">Profiling.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_profiler_tests_8cpp_source.xhtml#l00110">BOOST_AUTO_TEST_CASE()</a>, <a class="el" href="_detection_post_process_test_impl_8hpp_source.xhtml#l00139">DetectionPostProcessImpl()</a>, <a class="el" href="_profiler_tests_8cpp_source.xhtml#l00023">armnn::GetProfilerEventSequenceSize()</a>, <a class="el" href="_loaded_network_8cpp_source.xhtml#l00085">LoadedNetwork::MakeLoadedNetwork()</a>, <a class="el" href="_unit_tests_8hpp_source.xhtml#l00063">RunTestFunction()</a>, and <a class="el" href="_profiling_8cpp_source.xhtml#l00177">Profiler::~Profiler()</a>.</p>
<div class="fragment"><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;{</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <a class="code" href="namespacearmnn.xhtml#a680b729be51e88d93f2cbbdfeb5eaf4d">tl_Profiler</a> = profiler;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a680b729be51e88d93f2cbbdfeb5eaf4d"><div class="ttname"><a href="namespacearmnn.xhtml#a680b729be51e88d93f2cbbdfeb5eaf4d">armnn::tl_Profiler</a></div><div class="ttdeci">thread_local Profiler * tl_Profiler</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_8cpp_source.xhtml#l00485">Profiling.cpp:485</a></div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/armnn/<a class="el" href="_profiling_8hpp_source.xhtml">Profiling.hpp</a></li>
<li>src/armnn/<a class="el" href="_profiling_8cpp_source.xhtml">Profiling.cpp</a></li>
</ul>
</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="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_profiler_manager.xhtml">ProfilerManager</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:19 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>
