blob: c11b291d681b0a14fd3d44e5bbef226717ae61b0 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: ProfilingDetails 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>
<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" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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: 15rem; margin-top: .5rem; margin-left 13px"/>
<td id="projectalign" style="padding-left: 0.9em;">
<div id="projectname">
&#160;<span id="projectnumber">24.05</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classarmnn_1_1_profiling_details.html',''); initResizable(); });
/* @license-end */
</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="classarmnn_1_1_profiling_details-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ProfilingDetails Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classarmnn_1_1_profiling_details.html" title="ProfilingDetails class records any details associated with the operator and passes on for outputting ...">ProfilingDetails</a> class records any details associated with the operator and passes on for outputting to the user.
<a href="classarmnn_1_1_profiling_details.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ProfilingDetails:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_profiling_details__inherit__graph.svg" width="132" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ProfilingDetails:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_profiling_details__coll__graph.svg" width="132" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<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:a62a2d07bd48ff4519b0422cf3e127a5f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiling_details.html#a62a2d07bd48ff4519b0422cf3e127a5f">ProfilingDetails</a> ()</td></tr>
<tr class="memdesc:a62a2d07bd48ff4519b0422cf3e127a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classarmnn_1_1_profiling_details.html#a62a2d07bd48ff4519b0422cf3e127a5f">More...</a><br /></td></tr>
<tr class="separator:a62a2d07bd48ff4519b0422cf3e127a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a955d54a03240fc450e4fbd998e81c4aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiling_details.html#a955d54a03240fc450e4fbd998e81c4aa">~ProfilingDetails</a> () noexcept</td></tr>
<tr class="memdesc:a955d54a03240fc450e4fbd998e81c4aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classarmnn_1_1_profiling_details.html#a955d54a03240fc450e4fbd998e81c4aa">More...</a><br /></td></tr>
<tr class="separator:a955d54a03240fc450e4fbd998e81c4aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a990b88d3f57b79d25fbc00ef89d454b9"><td class="memTemplParams" colspan="2">template&lt;typename DescriptorType &gt; </td></tr>
<tr class="memitem:a990b88d3f57b79d25fbc00ef89d454b9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiling_details.html#a990b88d3f57b79d25fbc00ef89d454b9">AddDetailsToString</a> (const std::string &amp;workloadName, const DescriptorType &amp;desc, const <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &amp;infos, const arm::pipe::ProfilingGuid guid)</td></tr>
<tr class="memdesc:a990b88d3f57b79d25fbc00ef89d454b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add to the <a class="el" href="classarmnn_1_1_profiling_details.html" title="ProfilingDetails class records any details associated with the operator and passes on for outputting ...">ProfilingDetails</a>. <a href="classarmnn_1_1_profiling_details.html#a990b88d3f57b79d25fbc00ef89d454b9">More...</a><br /></td></tr>
<tr class="separator:a990b88d3f57b79d25fbc00ef89d454b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d8f186ac040292be87248a525f4bf9d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiling_details.html#a1d8f186ac040292be87248a525f4bf9d">GetProfilingDetails</a> () const</td></tr>
<tr class="memdesc:a1d8f186ac040292be87248a525f4bf9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classarmnn_1_1_profiling_details.html" title="ProfilingDetails class records any details associated with the operator and passes on for outputting ...">ProfilingDetails</a>. <a href="classarmnn_1_1_profiling_details.html#a1d8f186ac040292be87248a525f4bf9d">More...</a><br /></td></tr>
<tr class="separator:a1d8f186ac040292be87248a525f4bf9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a687d1a2cbdb84d0747b6a56a7bbd307d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_profiling_details.html#a687d1a2cbdb84d0747b6a56a7bbd307d">DetailsExist</a> ()</td></tr>
<tr class="separator:a687d1a2cbdb84d0747b6a56a7bbd307d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarmnn_1_1_json_utils"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_json_utils')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_json_utils.html">JsonUtils</a></td></tr>
<tr class="memitem:a7051d65f96eb41b343a44d1fb9a7d5ab inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#a7051d65f96eb41b343a44d1fb9a7d5ab">JsonUtils</a> (std::ostream &amp;outputStream)</td></tr>
<tr class="separator:a7051d65f96eb41b343a44d1fb9a7d5ab inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fe65baae23767acfe3b2c88a3fa0f0b inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#a1fe65baae23767acfe3b2c88a3fa0f0b">PrintTabs</a> ()</td></tr>
<tr class="separator:a1fe65baae23767acfe3b2c88a3fa0f0b inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82747ca573f9313c0043c884de79980e inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#a82747ca573f9313c0043c884de79980e">DecrementNumberOfTabs</a> ()</td></tr>
<tr class="separator:a82747ca573f9313c0043c884de79980e inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9ee16e58f956d23360c8bd53315edc5 inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#ac9ee16e58f956d23360c8bd53315edc5">IncrementNumberOfTabs</a> ()</td></tr>
<tr class="separator:ac9ee16e58f956d23360c8bd53315edc5 inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfd916a652a231df472d86da7e91d74b inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a> ()</td></tr>
<tr class="separator:abfd916a652a231df472d86da7e91d74b inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4aadb70bfaa3b841d94a9508b2245d3 inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#ad4aadb70bfaa3b841d94a9508b2245d3">PrintFooter</a> ()</td></tr>
<tr class="separator:ad4aadb70bfaa3b841d94a9508b2245d3 inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaa4d19c25f5fab4804cc8b1d38a68aa inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#adaa4d19c25f5fab4804cc8b1d38a68aa">PrintHeader</a> ()</td></tr>
<tr class="separator:adaa4d19c25f5fab4804cc8b1d38a68aa inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3566ce453b36aa0c4294d54980107ca inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#ad3566ce453b36aa0c4294d54980107ca">PrintArmNNHeader</a> ()</td></tr>
<tr class="separator:ad3566ce453b36aa0c4294d54980107ca inherit pub_methods_classarmnn_1_1_json_utils"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a154fc2c71f9ee4dd4c3504d22e5278 inherit pub_methods_classarmnn_1_1_json_utils"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a> ()</td></tr>
<tr class="separator:a2a154fc2c71f9ee4dd4c3504d22e5278 inherit pub_methods_classarmnn_1_1_json_utils"><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><a class="el" href="classarmnn_1_1_profiling_details.html" title="ProfilingDetails class records any details associated with the operator and passes on for outputting ...">ProfilingDetails</a> class records any details associated with the operator and passes on for outputting to the user. </p>
<p class="definition">Definition at line <a class="el" href="_profiling_details_8hpp_source.html#l00021">21</a> of file <a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a62a2d07bd48ff4519b0422cf3e127a5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62a2d07bd48ff4519b0422cf3e127a5f">&#9670;&nbsp;</a></span>ProfilingDetails()</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_profiling_details.html">ProfilingDetails</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
<p class="definition">Definition at line <a class="el" href="_profiling_details_8hpp_source.html#l00025">25</a> of file <a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; : <a class="code" href="classarmnn_1_1_json_utils.html#a7051d65f96eb41b343a44d1fb9a7d5ab">JsonUtils</a>(m_ProfilingDetails), m_DetailsExist(<span class="keyword">false</span>)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; {}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a955d54a03240fc450e4fbd998e81c4aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a955d54a03240fc450e4fbd998e81c4aa">&#9670;&nbsp;</a></span>~ProfilingDetails()</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_profiling_details.html">ProfilingDetails</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor. </p>
<p class="definition">Definition at line <a class="el" href="_profiling_details_8hpp_source.html#l00029">29</a> of file <a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; {}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a990b88d3f57b79d25fbc00ef89d454b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a990b88d3f57b79d25fbc00ef89d454b9">&#9670;&nbsp;</a></span>AddDetailsToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AddDetailsToString </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>workloadName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DescriptorType &amp;&#160;</td>
<td class="paramname"><em>desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structarmnn_1_1_workload_info.html">WorkloadInfo</a> &amp;&#160;</td>
<td class="paramname"><em>infos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const arm::pipe::ProfilingGuid&#160;</td>
<td class="paramname"><em>guid</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add to the <a class="el" href="classarmnn_1_1_profiling_details.html" title="ProfilingDetails class records any details associated with the operator and passes on for outputting ...">ProfilingDetails</a>. </p>
<p class="definition">Definition at line <a class="el" href="_profiling_details_8hpp_source.html#l00034">34</a> of file <a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="comment">// Once details exist, we can assume we&#39;re on the second iteration of details</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">if</span> (m_DetailsExist)</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"> 42</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a>();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#adaa4d19c25f5fab4804cc8b1d38a68aa">PrintHeader</a>();</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a1fe65baae23767acfe3b2c88a3fa0f0b">PrintTabs</a>();</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; m_ProfilingDetails &lt;&lt; std::quoted(<span class="stringliteral">&quot;Name&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; std::quoted(workloadName);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a>();</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a1fe65baae23767acfe3b2c88a3fa0f0b">PrintTabs</a>();</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; m_ProfilingDetails &lt;&lt; std::quoted(<span class="stringliteral">&quot;GUID&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; std::quoted(std::to_string(guid));</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">// From this point onwards everything is potentially optional so we must be careful of separators and new lines.</span></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"> 56</span>&#160; <span class="comment">// Print tensor infos and related data types</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">if</span> (!infos.m_InputTensorInfos.empty())</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a>();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Only add separator and new line if there is an output tensor info.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; PrintInfos(infos.m_InputTensorInfos, <span class="stringliteral">&quot;Input&quot;</span>, !infos.m_OutputTensorInfos.empty());</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</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="keywordflow">if</span> (!infos.m_OutputTensorInfos.empty())</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Don&#39;t add a separator as we don&#39;t know what&#39;s next.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; PrintInfos(infos.m_OutputTensorInfos, <span class="stringliteral">&quot;Output&quot;</span>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (infos.m_BiasTensorInfo.has_value())</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a>();</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; PrintInfo(infos.m_BiasTensorInfo.value(), <span class="stringliteral">&quot;Bias&quot;</span>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (infos.m_WeightsTensorInfo.has_value())</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a>();</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; PrintInfo(infos.m_WeightsTensorInfo.value(), <span class="stringliteral">&quot;Weights&quot;</span>, <span class="keyword">false</span>);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (infos.m_ConvolutionMethod.has_value())</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a>();</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a1fe65baae23767acfe3b2c88a3fa0f0b">PrintTabs</a>();</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; m_ProfilingDetails &lt;&lt; std::quoted(<span class="stringliteral">&quot;Convolution Method&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;: &quot;</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; &lt;&lt; std::quoted(infos.m_ConvolutionMethod.value());</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="namespacearmnn.html#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> extractParams = [<span class="keyword">this</span>](<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; value) {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">// Always begin with a separator and new line.</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">PrintSeparator</a>();</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#a1fe65baae23767acfe3b2c88a3fa0f0b">PrintTabs</a>();</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; m_ProfilingDetails &lt;&lt; std::quoted(name) &lt;&lt; <span class="stringliteral">&quot; : &quot;</span> &lt;&lt; std::quoted(value);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; };</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="structarmnn_1_1_stringify_layer_parameters.html#a84990e31a235f27cd3d7f3fc90fa0035">StringifyLayerParameters&lt;DescriptorType&gt;::Serialize</a>(extractParams, desc);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">PrintNewLine</a>();</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classarmnn_1_1_json_utils.html#ad4aadb70bfaa3b841d94a9508b2245d3">PrintFooter</a>();</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; m_DetailsExist = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, <a class="el" href="_workload_info_8hpp_source.html#l00022">WorkloadInfo::m_BiasTensorInfo</a>, <a class="el" href="_workload_info_8hpp_source.html#l00023">WorkloadInfo::m_ConvolutionMethod</a>, <a class="el" href="_workload_info_8hpp_source.html#l00018">WorkloadInfo::m_InputTensorInfos</a>, <a class="el" href="_workload_info_8hpp_source.html#l00019">WorkloadInfo::m_OutputTensorInfos</a>, <a class="el" href="_workload_info_8hpp_source.html#l00021">WorkloadInfo::m_WeightsTensorInfo</a>, <a class="el" href="_json_utils_8hpp_source.html#l00051">JsonUtils::PrintFooter()</a>, <a class="el" href="_json_utils_8hpp_source.html#l00058">JsonUtils::PrintHeader()</a>, <a class="el" href="_json_utils_8hpp_source.html#l00046">JsonUtils::PrintNewLine()</a>, <a class="el" href="_json_utils_8hpp_source.html#l00070">JsonUtils::PrintSeparator()</a>, <a class="el" href="_json_utils_8hpp_source.html#l00023">JsonUtils::PrintTabs()</a>, <a class="el" href="_serialize_layer_parameters_8hpp_source.html#l00025">StringifyLayerParameters&lt; LayerParameter &gt;::Serialize()</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; IsReference, T &gt;::value()</a>.</p>
</div>
</div>
<a id="a687d1a2cbdb84d0747b6a56a7bbd307d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a687d1a2cbdb84d0747b6a56a7bbd307d">&#9670;&nbsp;</a></span>DetailsExist()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DetailsExist </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_profiling_details_8hpp_source.html#l00118">118</a> of file <a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> m_DetailsExist;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1d8f186ac040292be87248a525f4bf9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d8f186ac040292be87248a525f4bf9d">&#9670;&nbsp;</a></span>GetProfilingDetails()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string GetProfilingDetails </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the <a class="el" href="classarmnn_1_1_profiling_details.html" title="ProfilingDetails class records any details associated with the operator and passes on for outputting ...">ProfilingDetails</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the <a class="el" href="classarmnn_1_1_profiling_details.html" title="ProfilingDetails class records any details associated with the operator and passes on for outputting ...">ProfilingDetails</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="_profiling_details_8hpp_source.html#l00113">113</a> of file <a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">return</span> m_ProfilingDetails.str();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/armnn/<a class="el" href="_profiling_details_8hpp_source.html">ProfilingDetails.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassarmnn_1_1_json_utils_html_abfd916a652a231df472d86da7e91d74b"><div class="ttname"><a href="classarmnn_1_1_json_utils.html#abfd916a652a231df472d86da7e91d74b">armnn::JsonUtils::PrintNewLine</a></div><div class="ttdeci">void PrintNewLine()</div><div class="ttdef"><b>Definition:</b> <a href="_json_utils_8hpp_source.html#l00046">JsonUtils.hpp:46</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a8c42c6647e31ebe525aeba878d133e45"><div class="ttname"><a href="namespacearmnn.html#a8c42c6647e31ebe525aeba878d133e45">armnn::ParameterStringifyFunction</a></div><div class="ttdeci">std::function&lt; void(const std::string &amp;name, const std::string &amp;value)&gt; ParameterStringifyFunction</div><div class="ttdef"><b>Definition:</b> <a href="_serialize_layer_parameters_8hpp_source.html#l00014">SerializeLayerParameters.hpp:14</a></div></div>
<div class="ttc" id="astructarmnn_1_1_stringify_layer_parameters_html_a84990e31a235f27cd3d7f3fc90fa0035"><div class="ttname"><a href="structarmnn_1_1_stringify_layer_parameters.html#a84990e31a235f27cd3d7f3fc90fa0035">armnn::StringifyLayerParameters::Serialize</a></div><div class="ttdeci">static void Serialize(ParameterStringifyFunction &amp;, const LayerParameter &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="_serialize_layer_parameters_8hpp_source.html#l00025">SerializeLayerParameters.hpp:25</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_json_utils_html_adaa4d19c25f5fab4804cc8b1d38a68aa"><div class="ttname"><a href="classarmnn_1_1_json_utils.html#adaa4d19c25f5fab4804cc8b1d38a68aa">armnn::JsonUtils::PrintHeader</a></div><div class="ttdeci">void PrintHeader()</div><div class="ttdef"><b>Definition:</b> <a href="_json_utils_8hpp_source.html#l00058">JsonUtils.hpp:58</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_json_utils_html_ad4aadb70bfaa3b841d94a9508b2245d3"><div class="ttname"><a href="classarmnn_1_1_json_utils.html#ad4aadb70bfaa3b841d94a9508b2245d3">armnn::JsonUtils::PrintFooter</a></div><div class="ttdeci">void PrintFooter()</div><div class="ttdef"><b>Definition:</b> <a href="_json_utils_8hpp_source.html#l00051">JsonUtils.hpp:51</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_json_utils_html_a2a154fc2c71f9ee4dd4c3504d22e5278"><div class="ttname"><a href="classarmnn_1_1_json_utils.html#a2a154fc2c71f9ee4dd4c3504d22e5278">armnn::JsonUtils::PrintSeparator</a></div><div class="ttdeci">void PrintSeparator()</div><div class="ttdef"><b>Definition:</b> <a href="_json_utils_8hpp_source.html#l00070">JsonUtils.hpp:70</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_json_utils_html_a7051d65f96eb41b343a44d1fb9a7d5ab"><div class="ttname"><a href="classarmnn_1_1_json_utils.html#a7051d65f96eb41b343a44d1fb9a7d5ab">armnn::JsonUtils::JsonUtils</a></div><div class="ttdeci">JsonUtils(std::ostream &amp;outputStream)</div><div class="ttdef"><b>Definition:</b> <a href="_json_utils_8hpp_source.html#l00019">JsonUtils.hpp:19</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_json_utils_html_a1fe65baae23767acfe3b2c88a3fa0f0b"><div class="ttname"><a href="classarmnn_1_1_json_utils.html#a1fe65baae23767acfe3b2c88a3fa0f0b">armnn::JsonUtils::PrintTabs</a></div><div class="ttdeci">void PrintTabs()</div><div class="ttdef"><b>Definition:</b> <a href="_json_utils_8hpp_source.html#l00023">JsonUtils.hpp:23</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_profiling_details.html">ProfilingDetails</a></li>
<li class="footer">Generated on Thu May 16 2024 09:31:58 for Arm NN by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>