blob: 248fb8614138181e0e26724f7f840eef94e5d26d [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: IRuntime 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_i_runtime.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="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classarmnn_1_1_i_runtime-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">IRuntime Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="_i_runtime_8hpp_source.html">IRuntime.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">CreationOptions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:af92b5ae61208a778571bcea7e6aac7b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#af92b5ae61208a778571bcea7e6aac7b4">LoadNetwork</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;networkIdOut, <a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a> network)</td></tr>
<tr class="memdesc:af92b5ae61208a778571bcea7e6aac7b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads a complete network into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. <a href="classarmnn_1_1_i_runtime.html#af92b5ae61208a778571bcea7e6aac7b4">More...</a><br /></td></tr>
<tr class="separator:af92b5ae61208a778571bcea7e6aac7b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e36bbd86f21d7ddec31588deed2ac77"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a0e36bbd86f21d7ddec31588deed2ac77">LoadNetwork</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;networkIdOut, <a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a> network, std::string &amp;errorMessage)</td></tr>
<tr class="memdesc:a0e36bbd86f21d7ddec31588deed2ac77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a complete network into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. <a href="classarmnn_1_1_i_runtime.html#a0e36bbd86f21d7ddec31588deed2ac77">More...</a><br /></td></tr>
<tr class="separator:a0e36bbd86f21d7ddec31588deed2ac77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65582587432a8dd20c3b1ad2a4f1f642"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a65582587432a8dd20c3b1ad2a4f1f642">LoadNetwork</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;networkIdOut, <a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a> network, std::string &amp;errorMessage, const <a class="el" href="structarmnn_1_1_i_network_properties.html">INetworkProperties</a> &amp;networkProperties)</td></tr>
<tr class="separator:a65582587432a8dd20c3b1ad2a4f1f642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25f528b76d8116e08cddc7d4a8661ee1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a25f528b76d8116e08cddc7d4a8661ee1">GetInputTensorInfo</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, <a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> layerId) const</td></tr>
<tr class="separator:a25f528b76d8116e08cddc7d4a8661ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dccecd36bb6eda573be616face68035"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a5dccecd36bb6eda573be616face68035">GetOutputTensorInfo</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, <a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a> layerId) const</td></tr>
<tr class="separator:a5dccecd36bb6eda573be616face68035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2cb56a0d7ee6fb53e9f97e624973c19"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#ac2cb56a0d7ee6fb53e9f97e624973c19">ImportInputs</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;inputTensors, <a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a> forceImportMemorySource=<a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a>)</td></tr>
<tr class="memdesc:ac2cb56a0d7ee6fb53e9f97e624973c19"><td class="mdescLeft">&#160;</td><td class="mdescRight">ImportInputs separates the importing and mapping of InputTensors from network execution. <a href="classarmnn_1_1_i_runtime.html#ac2cb56a0d7ee6fb53e9f97e624973c19">More...</a><br /></td></tr>
<tr class="separator:ac2cb56a0d7ee6fb53e9f97e624973c19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7db39b06bc7f50287f54320d26df4373"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a7db39b06bc7f50287f54320d26df4373">ImportOutputs</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;outputTensors, <a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a> forceImportMemorySource=<a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a>)</td></tr>
<tr class="memdesc:a7db39b06bc7f50287f54320d26df4373"><td class="mdescLeft">&#160;</td><td class="mdescRight">ImportOutputs separates the importing and mapping of OutputTensors from network execution. <a href="classarmnn_1_1_i_runtime.html#a7db39b06bc7f50287f54320d26df4373">More...</a><br /></td></tr>
<tr class="separator:a7db39b06bc7f50287f54320d26df4373"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2498cef8d01323527d59b6bb5848eed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#ab2498cef8d01323527d59b6bb5848eed">ClearImportedInputs</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, const std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt; inputIds)</td></tr>
<tr class="memdesc:ab2498cef8d01323527d59b6bb5848eed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Un-import and delete the imported InputTensor/s This function is not thread safe and must not be used while other threads are calling <a class="el" href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080" title="This is an experimental function.">Execute()</a>. <a href="classarmnn_1_1_i_runtime.html#ab2498cef8d01323527d59b6bb5848eed">More...</a><br /></td></tr>
<tr class="separator:ab2498cef8d01323527d59b6bb5848eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a746d54f647096c2f9932dae20a6590a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a746d54f647096c2f9932dae20a6590a2">ClearImportedOutputs</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, const std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt; outputIds)</td></tr>
<tr class="memdesc:a746d54f647096c2f9932dae20a6590a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Un-import and delete the imported OutputTensor/s This function is not thread safe and must not be used while other threads are calling <a class="el" href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080" title="This is an experimental function.">Execute()</a>. <a href="classarmnn_1_1_i_runtime.html#a746d54f647096c2f9932dae20a6590a2">More...</a><br /></td></tr>
<tr class="separator:a746d54f647096c2f9932dae20a6590a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca51209383683ab8dbe801bbfddfe0c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#aca51209383683ab8dbe801bbfddfe0c0">EnqueueWorkload</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;inputTensors, const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;outputTensors, std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt; preImportedInputIds={}, std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt; preImportedOutputIds={})</td></tr>
<tr class="memdesc:aca51209383683ab8dbe801bbfddfe0c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates a network using input in inputTensors and outputs filled into outputTensors. <a href="classarmnn_1_1_i_runtime.html#aca51209383683ab8dbe801bbfddfe0c0">More...</a><br /></td></tr>
<tr class="separator:aca51209383683ab8dbe801bbfddfe0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27f91ba619c3c6fd5e640df91b3fd080"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080">Execute</a> (<a class="el" href="classarmnn_1_1experimental_1_1_i_working_mem_handle.html">IWorkingMemHandle</a> &amp;workingMemHandle, const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;inputTensors, const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;outputTensors, std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt; preImportedInputs={}, std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt; preImportedOutputs={})</td></tr>
<tr class="memdesc:a27f91ba619c3c6fd5e640df91b3fd080"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is an experimental function. <a href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080">More...</a><br /></td></tr>
<tr class="separator:a27f91ba619c3c6fd5e640df91b3fd080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed397991b99f485ffab9a42aece47019"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#aed397991b99f485ffab9a42aece47019">UnloadNetwork</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId)</td></tr>
<tr class="memdesc:aed397991b99f485ffab9a42aece47019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unloads a network from the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. <a href="classarmnn_1_1_i_runtime.html#aed397991b99f485ffab9a42aece47019">More...</a><br /></td></tr>
<tr class="separator:aed397991b99f485ffab9a42aece47019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25db7b8e6fc90f8418439ccd33aaf184"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_i_device_spec.html">IDeviceSpec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a25db7b8e6fc90f8418439ccd33aaf184">GetDeviceSpec</a> () const</td></tr>
<tr class="separator:a25db7b8e6fc90f8418439ccd33aaf184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16e72675c37a8f251cf02951e222d4ab"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classarmnn_1_1experimental_1_1_i_working_mem_handle.html">IWorkingMemHandle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a16e72675c37a8f251cf02951e222d4ab">CreateWorkingMemHandle</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId)</td></tr>
<tr class="memdesc:a16e72675c37a8f251cf02951e222d4ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new unique WorkingMemHandle object. <a href="classarmnn_1_1_i_runtime.html#a16e72675c37a8f251cf02951e222d4ab">More...</a><br /></td></tr>
<tr class="separator:a16e72675c37a8f251cf02951e222d4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af87d0743d1266e264c3197a32299f4b2"><td class="memItemLeft" align="right" valign="top">const std::shared_ptr&lt; <a class="el" href="classarmnn_1_1_i_profiler.html">IProfiler</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#af87d0743d1266e264c3197a32299f4b2">GetProfiler</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId) const</td></tr>
<tr class="memdesc:af87d0743d1266e264c3197a32299f4b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the profiler corresponding to the given network id. <a href="classarmnn_1_1_i_runtime.html#af87d0743d1266e264c3197a32299f4b2">More...</a><br /></td></tr>
<tr class="separator:af87d0743d1266e264c3197a32299f4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a957014ce1bfd27e99f0a50b3ced439e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a957014ce1bfd27e99f0a50b3ced439e1">RegisterDebugCallback</a> (<a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> networkId, const <a class="el" href="namespacearmnn.html#a15f3ad9b5e4e3d46b0a6dda246a7bc28">DebugCallbackFunction</a> &amp;func)</td></tr>
<tr class="memdesc:a957014ce1bfd27e99f0a50b3ced439e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a callback function to debug layers performing custom computations on intermediate tensors. <a href="classarmnn_1_1_i_runtime.html#a957014ce1bfd27e99f0a50b3ced439e1">More...</a><br /></td></tr>
<tr class="separator:a957014ce1bfd27e99f0a50b3ced439e1"><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:a4646ef5dbce8d3aae30fc99638226069"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a4646ef5dbce8d3aae30fc99638226069">CreateRaw</a> (const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">CreationOptions</a> &amp;options)</td></tr>
<tr class="separator:a4646ef5dbce8d3aae30fc99638226069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad44ecd3700748dc30dc4bbe34ba5bde7"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacearmnn.html#a150468a02bd7b2d2d061c4aaaee939f0">IRuntimePtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#ad44ecd3700748dc30dc4bbe34ba5bde7">Create</a> (const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">CreationOptions</a> &amp;options)</td></tr>
<tr class="separator:ad44ecd3700748dc30dc4bbe34ba5bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a978f3d0d34a944b40240bd130d61e3b6"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a978f3d0d34a944b40240bd130d61e3b6">Destroy</a> (<a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> *runtime)</td></tr>
<tr class="separator:a978f3d0d34a944b40240bd130d61e3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ab57e7be00c017cfa43de4f5141f1fc68"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#ab57e7be00c017cfa43de4f5141f1fc68">IRuntime</a> ()</td></tr>
<tr class="separator:ab57e7be00c017cfa43de4f5141f1fc68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea37dec9d86de31f4847592df906062"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#aeea37dec9d86de31f4847592df906062">IRuntime</a> (const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">IRuntime::CreationOptions</a> &amp;options)</td></tr>
<tr class="separator:aeea37dec9d86de31f4847592df906062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad728a798fda08188df91623caebd527c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#ad728a798fda08188df91623caebd527c">~IRuntime</a> ()</td></tr>
<tr class="separator:ad728a798fda08188df91623caebd527c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a92dbd7245696596a2c8e831de26cec02"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="structarmnn_1_1_runtime_impl.html">RuntimeImpl</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a></td></tr>
<tr class="separator:a92dbd7245696596a2c8e831de26cec02"><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="_i_runtime_8hpp_source.html#l00075">75</a> of file <a class="el" href="_i_runtime_8hpp_source.html">IRuntime.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ab57e7be00c017cfa43de4f5141f1fc68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab57e7be00c017cfa43de4f5141f1fc68">&#9670;&nbsp;</a></span>IRuntime() <span class="overload">[1/2]</span></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_i_runtime.html">IRuntime</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00041">41</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;: <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>( <span class="keyword">new</span> <a class="code" href="structarmnn_1_1_runtime_impl.html">RuntimeImpl</a>(<a class="code" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">armnn::IRuntime::CreationOptions</a>())) {}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_runtime_8cpp_source.html#l00047">IRuntime::CreateRaw()</a>.</p>
</div>
</div>
<a id="aeea37dec9d86de31f4847592df906062"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeea37dec9d86de31f4847592df906062">&#9670;&nbsp;</a></span>IRuntime() <span class="overload">[2/2]</span></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_i_runtime.html">IRuntime</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">IRuntime::CreationOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00043">43</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;: <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>(<span class="keyword">new</span> <a class="code" href="structarmnn_1_1_runtime_impl.html">RuntimeImpl</a>(options)) {}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ad728a798fda08188df91623caebd527c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad728a798fda08188df91623caebd527c">&#9670;&nbsp;</a></span>~IRuntime()</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_i_runtime.html">IRuntime</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">protected</span><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab2498cef8d01323527d59b6bb5848eed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2498cef8d01323527d59b6bb5848eed">&#9670;&nbsp;</a></span>ClearImportedInputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ClearImportedInputs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt;&#160;</td>
<td class="paramname"><em>inputIds</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Un-import and delete the imported InputTensor/s This function is not thread safe and must not be used while other threads are calling <a class="el" href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080" title="This is an experimental function.">Execute()</a>. </p>
<p>Only compatible with AsyncEnabled networks </p>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00104">104</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;ClearImportedInputs(networkId, inputIds);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="a746d54f647096c2f9932dae20a6590a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a746d54f647096c2f9932dae20a6590a2">&#9670;&nbsp;</a></span>ClearImportedOutputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ClearImportedOutputs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt;&#160;</td>
<td class="paramname"><em>outputIds</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Un-import and delete the imported OutputTensor/s This function is not thread safe and must not be used while other threads are calling <a class="el" href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080" title="This is an experimental function.">Execute()</a>. </p>
<p>Only compatible with AsyncEnabled networks </p>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00108">108</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;{</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;ClearImportedOutputs(networkId, outputIds);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="ad44ecd3700748dc30dc4bbe34ba5bde7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad44ecd3700748dc30dc4bbe34ba5bde7">&#9670;&nbsp;</a></span>Create()</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="namespacearmnn.html#a150468a02bd7b2d2d061c4aaaee939f0">IRuntimePtr</a> Create </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">CreationOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></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">
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="_async_execution_sample_8cpp-example.html#a20">AsyncExecutionSample.cpp</a>, <a class="el" href="_custom_memory_allocator_sample_8cpp-example.html#a22">CustomMemoryAllocatorSample.cpp</a>, <a class="el" href="_dynamic_sample_8cpp-example.html#a12">DynamicSample.cpp</a>, and <a class="el" href="_simple_sample_8cpp-example.html#a20">SimpleSample.cpp</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00052">52</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><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="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a150468a02bd7b2d2d061c4aaaee939f0">IRuntimePtr</a>(<a class="code" href="classarmnn_1_1_i_runtime.html#a4646ef5dbce8d3aae30fc99638226069">CreateRaw</a>(options), &amp;<a class="code" href="classarmnn_1_1_i_runtime.html#a978f3d0d34a944b40240bd130d61e3b6">IRuntime::Destroy</a>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_runtime_8cpp_source.html#l00047">IRuntime::CreateRaw()</a>, and <a class="el" href="_runtime_8cpp_source.html#l00057">IRuntime::Destroy()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_device_8cpp_source.html#l00042">ArmnnDevice::ArmnnDevice()</a>.</p>
</div>
</div>
<a id="a4646ef5dbce8d3aae30fc99638226069"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4646ef5dbce8d3aae30fc99638226069">&#9670;&nbsp;</a></span>CreateRaw()</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_i_runtime.html">IRuntime</a> * CreateRaw </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">CreationOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em></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="_runtime_8cpp_source.html#l00047">47</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classarmnn_1_1_i_runtime.html#ab57e7be00c017cfa43de4f5141f1fc68">IRuntime</a>(options);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_runtime_8cpp_source.html#l00041">IRuntime::IRuntime()</a>.</p>
<p class="reference">Referenced by <a class="el" href="_runtime_8cpp_source.html#l00052">IRuntime::Create()</a>.</p>
</div>
</div>
<a id="a16e72675c37a8f251cf02951e222d4ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16e72675c37a8f251cf02951e222d4ab">&#9670;&nbsp;</a></span>CreateWorkingMemHandle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt; <a class="el" href="classarmnn_1_1experimental_1_1_i_working_mem_handle.html">IWorkingMemHandle</a> &gt; CreateWorkingMemHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new unique WorkingMemHandle object. </p>
<p>Create multiple handles if you wish to have overlapped Execution by calling this function from different threads. </p>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00146">146</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;CreateWorkingMemHandle(networkId);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="a978f3d0d34a944b40240bd130d61e3b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a978f3d0d34a944b40240bd130d61e3b6">&#9670;&nbsp;</a></span>Destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Destroy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> *&#160;</td>
<td class="paramname"><em>runtime</em></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="_runtime_8cpp_source.html#l00057">57</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><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; <span class="keyword">delete</span> runtime;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_runtime_8cpp_source.html#l00052">IRuntime::Create()</a>.</p>
</div>
</div>
<a id="aca51209383683ab8dbe801bbfddfe0c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca51209383683ab8dbe801bbfddfe0c0">&#9670;&nbsp;</a></span>EnqueueWorkload()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> EnqueueWorkload </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;&#160;</td>
<td class="paramname"><em>inputTensors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;&#160;</td>
<td class="paramname"><em>outputTensors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt;&#160;</td>
<td class="paramname"><em>preImportedInputIds</em> = <code>{}</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt;&#160;</td>
<td class="paramname"><em>preImportedOutputIds</em> = <code>{}</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates a network using input in inputTensors and outputs filled into outputTensors. </p>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00113">113</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;{</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;EnqueueWorkload(networkId, inputTensors, outputTensors,</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; preImportedInputIds, preImportedOutputIds);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00374">ArmnnPreparedModel::ExecuteGraph()</a>.</p>
</div>
</div>
<a id="a27f91ba619c3c6fd5e640df91b3fd080"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27f91ba619c3c6fd5e640df91b3fd080">&#9670;&nbsp;</a></span>Execute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> Execute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classarmnn_1_1experimental_1_1_i_working_mem_handle.html">IWorkingMemHandle</a> &amp;&#160;</td>
<td class="paramname"><em>workingMemHandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;&#160;</td>
<td class="paramname"><em>inputTensors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;&#160;</td>
<td class="paramname"><em>outputTensors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt;&#160;</td>
<td class="paramname"><em>preImportedInputs</em> = <code>{}</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt;&#160;</td>
<td class="paramname"><em>preImportedOutputs</em> = <code>{}</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This is an experimental function. </p>
<p>Evaluates a network using input in inputTensors and outputs filled into outputTensors. This function performs a thread safe execution of the network. Returns once execution is complete. Will block until this and any other thread using the same workingMem object completes. </p>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00123">123</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;Execute(workingMemHandle,</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; inputTensors,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; outputTensors,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; preImportedInputs,</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; preImportedOutputs);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="a25db7b8e6fc90f8418439ccd33aaf184"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25db7b8e6fc90f8418439ccd33aaf184">&#9670;&nbsp;</a></span>GetDeviceSpec()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classarmnn_1_1_i_device_spec.html">IDeviceSpec</a> &amp; GetDeviceSpec </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00141">141</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;GetDeviceSpec();</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="a25f528b76d8116e08cddc7d4a8661ee1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25f528b76d8116e08cddc7d4a8661ee1">&#9670;&nbsp;</a></span>GetInputTensorInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> GetInputTensorInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td>
<td class="paramname"><em>layerId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00082">82</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;GetInputTensorInfo(networkId, layerId);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00646">ArmnnPreparedModel::ExecuteWithDummyInputs()</a>.</p>
</div>
</div>
<a id="a5dccecd36bb6eda573be616face68035"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dccecd36bb6eda573be616face68035">&#9670;&nbsp;</a></span>GetOutputTensorInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> GetOutputTensorInfo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td>
<td class="paramname"><em>layerId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00087">87</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;GetOutputTensorInfo(networkId, layerId);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00646">ArmnnPreparedModel::ExecuteWithDummyInputs()</a>.</p>
</div>
</div>
<a id="af87d0743d1266e264c3197a32299f4b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af87d0743d1266e264c3197a32299f4b2">&#9670;&nbsp;</a></span>GetProfiler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::shared_ptr&lt; <a class="el" href="classarmnn_1_1_i_profiler.html">IProfiler</a> &gt; GetProfiler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the profiler corresponding to the given network id. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">networkId</td><td>The id of the network for which to get the profile. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the requested profiler, or nullptr if not found. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00151">151</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;GetProfiler(networkId);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00626">ArmnnPreparedModel::~ArmnnPreparedModel()</a>.</p>
</div>
</div>
<a id="ac2cb56a0d7ee6fb53e9f97e624973c19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2cb56a0d7ee6fb53e9f97e624973c19">&#9670;&nbsp;</a></span>ImportInputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt; ImportInputs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;&#160;</td>
<td class="paramname"><em>inputTensors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a>&#160;</td>
<td class="paramname"><em>forceImportMemorySource</em> = <code><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>ImportInputs separates the importing and mapping of InputTensors from network execution. </p>
<p>Allowing for a set of InputTensors to be imported and mapped once, but used in execution many times. This function is not thread safe and must not be used while other threads are calling <a class="el" href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080" title="This is an experimental function.">Execute()</a>. No exceptions are thrown for failed imports. It is the caller's responsibility to check whether tensors have been successfully imported by comparing returned ids with those passed in the InputTensors. Whether a tensor can be imported or not is backend specific. </p>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00092">92</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;ImportInputs(networkId, inputTensors, forceImportMemorySource);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00374">ArmnnPreparedModel::ExecuteGraph()</a>.</p>
</div>
</div>
<a id="a7db39b06bc7f50287f54320d26df4373"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7db39b06bc7f50287f54320d26df4373">&#9670;&nbsp;</a></span>ImportOutputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt; ImportOutputs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;&#160;</td>
<td class="paramname"><em>outputTensors</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a>&#160;</td>
<td class="paramname"><em>forceImportMemorySource</em> = <code><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>ImportOutputs separates the importing and mapping of OutputTensors from network execution. </p>
<p>Allowing for a set of OutputTensors to be imported and mapped once, but used in execution many times. This function is not thread safe and must not be used while other threads are calling <a class="el" href="classarmnn_1_1_i_runtime.html#a27f91ba619c3c6fd5e640df91b3fd080" title="This is an experimental function.">Execute()</a>. No exceptions are thrown for failed imports. It is the caller's responsibility to check whether tensors have been successfully imported by comparing returned ids with those passed in the OutputTensors. Whether a tensor can be imported or not is backend specific. </p>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00098">98</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;{</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;ImportOutputs(networkId, outputTensors, forceImportMemorySource);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00374">ArmnnPreparedModel::ExecuteGraph()</a>.</p>
</div>
</div>
<a id="af92b5ae61208a778571bcea7e6aac7b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af92b5ae61208a778571bcea7e6aac7b4">&#9670;&nbsp;</a></span>LoadNetwork() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> LoadNetwork </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;&#160;</td>
<td class="paramname"><em>networkIdOut</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>&#160;</td>
<td class="paramname"><em>network</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Loads a complete network into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">networkIdOut</td><td>- Unique identifier for the network is returned in this reference. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">network</td><td>- Complete network to load into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. The runtime takes ownership of the network once passed in. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">armnn::Status</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00062">62</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;LoadNetwork(networkIdOut, std::move(network));</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="a0e36bbd86f21d7ddec31588deed2ac77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e36bbd86f21d7ddec31588deed2ac77">&#9670;&nbsp;</a></span>LoadNetwork() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> LoadNetwork </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;&#160;</td>
<td class="paramname"><em>networkIdOut</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>&#160;</td>
<td class="paramname"><em>network</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string &amp;&#160;</td>
<td class="paramname"><em>errorMessage</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Load a complete network into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">networkIdOut</td><td>Unique identifier for the network is returned in this reference. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">network</td><td>Complete network to load into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">errorMessage</td><td>Error message if there were any errors. The runtime takes ownership of the network once passed in. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">armnn::Status</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00067">67</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><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">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;LoadNetwork(networkIdOut, std::move(network), errorMessage);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="a65582587432a8dd20c3b1ad2a4f1f642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65582587432a8dd20c3b1ad2a4f1f642">&#9670;&nbsp;</a></span>LoadNetwork() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> LoadNetwork </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;&#160;</td>
<td class="paramname"><em>networkIdOut</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>&#160;</td>
<td class="paramname"><em>network</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string &amp;&#160;</td>
<td class="paramname"><em>errorMessage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structarmnn_1_1_i_network_properties.html">INetworkProperties</a> &amp;&#160;</td>
<td class="paramname"><em>networkProperties</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00074">74</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;LoadNetwork(networkIdOut, std::move(network), errorMessage, networkProperties);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="a957014ce1bfd27e99f0a50b3ced439e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a957014ce1bfd27e99f0a50b3ced439e1">&#9670;&nbsp;</a></span>RegisterDebugCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RegisterDebugCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacearmnn.html#a15f3ad9b5e4e3d46b0a6dda246a7bc28">DebugCallbackFunction</a> &amp;&#160;</td>
<td class="paramname"><em>func</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Registers a callback function to debug layers performing custom computations on intermediate tensors. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">networkId</td><td>The id of the network to register the callback. </td></tr>
<tr><td class="paramname">func</td><td>callback function to pass to the debug layer. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00156">156</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;{</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;RegisterDebugCallback(networkId, func);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
</div>
</div>
<a id="aed397991b99f485ffab9a42aece47019"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed397991b99f485ffab9a42aece47019">&#9670;&nbsp;</a></span>UnloadNetwork()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> UnloadNetwork </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
<td class="paramname"><em>networkId</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unloads a network from the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. </p>
<p>At the moment this only removes the network from the m_Impl-&gt;m_Network. This might need more work in the future to be AndroidNN compliant. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">networkId</td><td>- Unique identifier for the network to be unloaded. Generated in <a class="el" href="classarmnn_1_1_i_runtime.html#af92b5ae61208a778571bcea7e6aac7b4" title="Loads a complete network into the IRuntime.">LoadNetwork()</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">armnn::Status</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="_runtime_8cpp_source.html#l00136">136</a> of file <a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;{</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">pRuntimeImpl</a>-&gt;UnloadNetwork(networkId);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00626">ArmnnPreparedModel::~ArmnnPreparedModel()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a92dbd7245696596a2c8e831de26cec02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92dbd7245696596a2c8e831de26cec02">&#9670;&nbsp;</a></span>pRuntimeImpl</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="structarmnn_1_1_runtime_impl.html">RuntimeImpl</a>&gt; pRuntimeImpl</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_i_runtime_8hpp_source.html#l00296">296</a> of file <a class="el" href="_i_runtime_8hpp_source.html">IRuntime.hpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="_runtime_8cpp_source.html#l00104">IRuntime::ClearImportedInputs()</a>, <a class="el" href="_runtime_8cpp_source.html#l00108">IRuntime::ClearImportedOutputs()</a>, <a class="el" href="_runtime_8cpp_source.html#l00146">IRuntime::CreateWorkingMemHandle()</a>, <a class="el" href="_runtime_8cpp_source.html#l00113">IRuntime::EnqueueWorkload()</a>, <a class="el" href="_runtime_8cpp_source.html#l00123">IRuntime::Execute()</a>, <a class="el" href="_runtime_8cpp_source.html#l00141">IRuntime::GetDeviceSpec()</a>, <a class="el" href="_runtime_8cpp_source.html#l00082">IRuntime::GetInputTensorInfo()</a>, <a class="el" href="_runtime_8cpp_source.html#l00087">IRuntime::GetOutputTensorInfo()</a>, <a class="el" href="_runtime_8cpp_source.html#l00151">IRuntime::GetProfiler()</a>, <a class="el" href="_runtime_8cpp_source.html#l00092">IRuntime::ImportInputs()</a>, <a class="el" href="_runtime_8cpp_source.html#l00098">IRuntime::ImportOutputs()</a>, <a class="el" href="_runtime_8cpp_source.html#l00062">IRuntime::LoadNetwork()</a>, <a class="el" href="_runtime_8cpp_source.html#l00156">IRuntime::RegisterDebugCallback()</a>, and <a class="el" href="_runtime_8cpp_source.html#l00136">IRuntime::UnloadNetwork()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/armnn/<a class="el" href="_i_runtime_8hpp_source.html">IRuntime.hpp</a></li>
<li>src/armnn/<a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassarmnn_1_1_i_runtime_html_ab57e7be00c017cfa43de4f5141f1fc68"><div class="ttname"><a href="classarmnn_1_1_i_runtime.html#ab57e7be00c017cfa43de4f5141f1fc68">armnn::IRuntime::IRuntime</a></div><div class="ttdeci">IRuntime()</div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8cpp_source.html#l00041">Runtime.cpp:41</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_i_runtime_html_a978f3d0d34a944b40240bd130d61e3b6"><div class="ttname"><a href="classarmnn_1_1_i_runtime.html#a978f3d0d34a944b40240bd130d61e3b6">armnn::IRuntime::Destroy</a></div><div class="ttdeci">static void Destroy(IRuntime *runtime)</div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8cpp_source.html#l00057">Runtime.cpp:57</a></div></div>
<div class="ttc" id="anamespacearmnn_html_a150468a02bd7b2d2d061c4aaaee939f0"><div class="ttname"><a href="namespacearmnn.html#a150468a02bd7b2d2d061c4aaaee939f0">armnn::IRuntimePtr</a></div><div class="ttdeci">std::unique_ptr&lt; IRuntime, void(*)(IRuntime *runtime)&gt; IRuntimePtr</div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.html#l00041">IRuntime.hpp:41</a></div></div>
<div class="ttc" id="astructarmnn_1_1_i_runtime_1_1_creation_options_html"><div class="ttname"><a href="structarmnn_1_1_i_runtime_1_1_creation_options.html">armnn::IRuntime::CreationOptions</a></div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.html#l00078">IRuntime.hpp:78</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_i_runtime_html_a4646ef5dbce8d3aae30fc99638226069"><div class="ttname"><a href="classarmnn_1_1_i_runtime.html#a4646ef5dbce8d3aae30fc99638226069">armnn::IRuntime::CreateRaw</a></div><div class="ttdeci">static IRuntime * CreateRaw(const CreationOptions &amp;options)</div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8cpp_source.html#l00047">Runtime.cpp:47</a></div></div>
<div class="ttc" id="astructarmnn_1_1_runtime_impl_html"><div class="ttname"><a href="structarmnn_1_1_runtime_impl.html">armnn::RuntimeImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="_runtime_8hpp_source.html#l00030">Runtime.hpp:30</a></div></div>
<div class="ttc" id="aclassarmnn_1_1_i_runtime_html_a92dbd7245696596a2c8e831de26cec02"><div class="ttname"><a href="classarmnn_1_1_i_runtime.html#a92dbd7245696596a2c8e831de26cec02">armnn::IRuntime::pRuntimeImpl</a></div><div class="ttdeci">std::unique_ptr&lt; RuntimeImpl &gt; pRuntimeImpl</div><div class="ttdef"><b>Definition:</b> <a href="_i_runtime_8hpp_source.html#l00296">IRuntime.hpp:296</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_i_runtime.html">IRuntime</a></li>
<li class="footer">Generated on Thu May 16 2024 09:31:56 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>