blob: 248fb8614138181e0e26724f7f840eef94e5d26d [file] [log] [blame]
Nikhil Raj1dc83fe2024-05-16 09:47:51 +01001<!-- HTML header for doxygen 1.8.17-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.17"/>
8<meta name="viewport" content="width=device-width, initial-scale=1"/>
9<title>Arm NN: IRuntime Class Reference</title>
10<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
15<script type="text/javascript" src="navtreedata.js"></script>
16<script type="text/javascript" src="navtree.js"></script>
17<link href="search/search.css" rel="stylesheet" type="text/css"/>
18<script type="text/javascript" src="search/searchdata.js"></script>
19<script type="text/javascript" src="search/search.js"></script>
20<script type="text/x-mathjax-config">
21 MathJax.Hub.Config({
22 extensions: ["tex2jax.js"],
23 jax: ["input/TeX","output/HTML-CSS"],
24});
25</script>
26<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
27<link href="doxygen.css" rel="stylesheet" type="text/css" />
28<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
29</head>
30<body>
31<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
32<div id="titlearea">
33<table cellspacing="0" cellpadding="0">
34 <tbody>
35 <tr style="height: 56px;">
36 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
37 <td id="projectalign" style="padding-left: 0.9em;">
38 <div id="projectname">
39 &#160;<span id="projectnumber">24.05</span>
40 </div>
41 </td>
42 </tr>
43 </tbody>
44</table>
45</div>
46<!-- end header part -->
47<!-- Generated by Doxygen 1.8.17 -->
48<script type="text/javascript">
49/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
50var searchBox = new SearchBox("searchBox", "search",false,'Search');
51/* @license-end */
52</script>
53<script type="text/javascript" src="menudata.js"></script>
54<script type="text/javascript" src="menu.js"></script>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(function() {
58 initMenu('',true,false,'search.php','Search');
59 $(document).ready(function() { init_search(); });
60});
61/* @license-end */</script>
62<div id="main-nav"></div>
63</div><!-- top -->
64<div id="side-nav" class="ui-resizable side-nav-resizable">
65 <div id="nav-tree">
66 <div id="nav-tree-contents">
67 <div id="nav-sync" class="sync"></div>
68 </div>
69 </div>
70 <div id="splitbar" style="-moz-user-select:none;"
71 class="ui-resizable-handle">
72 </div>
73</div>
74<script type="text/javascript">
75/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
76$(document).ready(function(){initNavTree('classarmnn_1_1_i_runtime.html',''); initResizable(); });
77/* @license-end */
78</script>
79<div id="doc-content">
80<!-- window showing the filter options -->
81<div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85</div>
86
87<!-- iframe showing the search results (closed by default) -->
88<div id="MSearchResultsWindow">
89<iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91</iframe>
92</div>
93
94<div class="header">
95 <div class="summary">
96<a href="#nested-classes">Classes</a> &#124;
97<a href="#pub-methods">Public Member Functions</a> &#124;
98<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
99<a href="#pro-methods">Protected Member Functions</a> &#124;
100<a href="#pro-attribs">Protected Attributes</a> &#124;
101<a href="classarmnn_1_1_i_runtime-members.html">List of all members</a> </div>
102 <div class="headertitle">
103<div class="title">IRuntime Class Reference</div> </div>
104</div><!--header-->
105<div class="contents">
106
107<p><code>#include &lt;<a class="el" href="_i_runtime_8hpp_source.html">IRuntime.hpp</a>&gt;</code></p>
108<table class="memberdecls">
109<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
110Classes</h2></td></tr>
111<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>
112<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
113</table><table class="memberdecls">
114<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
115Public Member Functions</h2></td></tr>
116<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>
117<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>
118<tr class="separator:af92b5ae61208a778571bcea7e6aac7b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<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>
120<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>
121<tr class="separator:a0e36bbd86f21d7ddec31588deed2ac77"><td class="memSeparator" colspan="2">&#160;</td></tr>
122<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>
123<tr class="separator:a65582587432a8dd20c3b1ad2a4f1f642"><td class="memSeparator" colspan="2">&#160;</td></tr>
124<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>
125<tr class="separator:a25f528b76d8116e08cddc7d4a8661ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
126<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>
127<tr class="separator:a5dccecd36bb6eda573be616face68035"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<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>
129<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>
130<tr class="separator:ac2cb56a0d7ee6fb53e9f97e624973c19"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<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>
132<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>
133<tr class="separator:a7db39b06bc7f50287f54320d26df4373"><td class="memSeparator" colspan="2">&#160;</td></tr>
134<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>
135<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>
136<tr class="separator:ab2498cef8d01323527d59b6bb5848eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<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>
138<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>
139<tr class="separator:a746d54f647096c2f9932dae20a6590a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<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>
141<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>
142<tr class="separator:aca51209383683ab8dbe801bbfddfe0c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<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>
144<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>
145<tr class="separator:a27f91ba619c3c6fd5e640df91b3fd080"><td class="memSeparator" colspan="2">&#160;</td></tr>
146<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>
147<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>
148<tr class="separator:aed397991b99f485ffab9a42aece47019"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<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>
150<tr class="separator:a25db7b8e6fc90f8418439ccd33aaf184"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<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>
152<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>
153<tr class="separator:a16e72675c37a8f251cf02951e222d4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
154<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>
155<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>
156<tr class="separator:af87d0743d1266e264c3197a32299f4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<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>
158<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>
159<tr class="separator:a957014ce1bfd27e99f0a50b3ced439e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
160</table><table class="memberdecls">
161<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
162Static Public Member Functions</h2></td></tr>
163<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>
164<tr class="separator:a4646ef5dbce8d3aae30fc99638226069"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<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>
166<tr class="separator:ad44ecd3700748dc30dc4bbe34ba5bde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<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>
168<tr class="separator:a978f3d0d34a944b40240bd130d61e3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
169</table><table class="memberdecls">
170<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
171Protected Member Functions</h2></td></tr>
172<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>
173<tr class="separator:ab57e7be00c017cfa43de4f5141f1fc68"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<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>
175<tr class="separator:aeea37dec9d86de31f4847592df906062"><td class="memSeparator" colspan="2">&#160;</td></tr>
176<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>
177<tr class="separator:ad728a798fda08188df91623caebd527c"><td class="memSeparator" colspan="2">&#160;</td></tr>
178</table><table class="memberdecls">
179<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
180Protected Attributes</h2></td></tr>
181<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>
182<tr class="separator:a92dbd7245696596a2c8e831de26cec02"><td class="memSeparator" colspan="2">&#160;</td></tr>
183</table>
184<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
185<div class="textblock">
186<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>
187</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
188<a id="ab57e7be00c017cfa43de4f5141f1fc68"></a>
189<h2 class="memtitle"><span class="permalink"><a href="#ab57e7be00c017cfa43de4f5141f1fc68">&#9670;&nbsp;</a></span>IRuntime() <span class="overload">[1/2]</span></h2>
190
191<div class="memitem">
192<div class="memproto">
193<table class="mlabels">
194 <tr>
195 <td class="mlabels-left">
196 <table class="memname">
197 <tr>
198 <td class="memname"><a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> </td>
199 <td>(</td>
200 <td class="paramname"></td><td>)</td>
201 <td></td>
202 </tr>
203 </table>
204 </td>
205 <td class="mlabels-right">
206<span class="mlabels"><span class="mlabel">protected</span></span> </td>
207 </tr>
208</table>
209</div><div class="memdoc">
210
211<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>
212<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>
213</div><!-- fragment -->
214<p class="reference">Referenced by <a class="el" href="_runtime_8cpp_source.html#l00047">IRuntime::CreateRaw()</a>.</p>
215
216</div>
217</div>
218<a id="aeea37dec9d86de31f4847592df906062"></a>
219<h2 class="memtitle"><span class="permalink"><a href="#aeea37dec9d86de31f4847592df906062">&#9670;&nbsp;</a></span>IRuntime() <span class="overload">[2/2]</span></h2>
220
221<div class="memitem">
222<div class="memproto">
223<table class="mlabels">
224 <tr>
225 <td class="mlabels-left">
226 <table class="memname">
227 <tr>
228 <td class="memname"><a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> </td>
229 <td>(</td>
230 <td class="paramtype">const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">IRuntime::CreationOptions</a> &amp;&#160;</td>
231 <td class="paramname"><em>options</em></td><td>)</td>
232 <td></td>
233 </tr>
234 </table>
235 </td>
236 <td class="mlabels-right">
237<span class="mlabels"><span class="mlabel">protected</span></span> </td>
238 </tr>
239</table>
240</div><div class="memdoc">
241
242<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>
243<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>
244</div><!-- fragment -->
245</div>
246</div>
247<a id="ad728a798fda08188df91623caebd527c"></a>
248<h2 class="memtitle"><span class="permalink"><a href="#ad728a798fda08188df91623caebd527c">&#9670;&nbsp;</a></span>~IRuntime()</h2>
249
250<div class="memitem">
251<div class="memproto">
252<table class="mlabels">
253 <tr>
254 <td class="mlabels-left">
255 <table class="memname">
256 <tr>
257 <td class="memname">~<a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> </td>
258 <td>(</td>
259 <td class="paramname"></td><td>)</td>
260 <td></td>
261 </tr>
262 </table>
263 </td>
264 <td class="mlabels-right">
265<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span></span> </td>
266 </tr>
267</table>
268</div><div class="memdoc">
269
270</div>
271</div>
272<h2 class="groupheader">Member Function Documentation</h2>
273<a id="ab2498cef8d01323527d59b6bb5848eed"></a>
274<h2 class="memtitle"><span class="permalink"><a href="#ab2498cef8d01323527d59b6bb5848eed">&#9670;&nbsp;</a></span>ClearImportedInputs()</h2>
275
276<div class="memitem">
277<div class="memproto">
278 <table class="memname">
279 <tr>
280 <td class="memname">void ClearImportedInputs </td>
281 <td>(</td>
282 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
283 <td class="paramname"><em>networkId</em>, </td>
284 </tr>
285 <tr>
286 <td class="paramkey"></td>
287 <td></td>
288 <td class="paramtype">const std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt;&#160;</td>
289 <td class="paramname"><em>inputIds</em>&#160;</td>
290 </tr>
291 <tr>
292 <td></td>
293 <td>)</td>
294 <td></td><td></td>
295 </tr>
296 </table>
297</div><div class="memdoc">
298
299<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>
300<p>Only compatible with AsyncEnabled networks </p>
301
302<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>
303<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div>
304<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>
305<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;}</div>
306</div><!-- fragment -->
307<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
308
309</div>
310</div>
311<a id="a746d54f647096c2f9932dae20a6590a2"></a>
312<h2 class="memtitle"><span class="permalink"><a href="#a746d54f647096c2f9932dae20a6590a2">&#9670;&nbsp;</a></span>ClearImportedOutputs()</h2>
313
314<div class="memitem">
315<div class="memproto">
316 <table class="memname">
317 <tr>
318 <td class="memname">void ClearImportedOutputs </td>
319 <td>(</td>
320 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
321 <td class="paramname"><em>networkId</em>, </td>
322 </tr>
323 <tr>
324 <td class="paramkey"></td>
325 <td></td>
326 <td class="paramtype">const std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt;&#160;</td>
327 <td class="paramname"><em>outputIds</em>&#160;</td>
328 </tr>
329 <tr>
330 <td></td>
331 <td>)</td>
332 <td></td><td></td>
333 </tr>
334 </table>
335</div><div class="memdoc">
336
337<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>
338<p>Only compatible with AsyncEnabled networks </p>
339
340<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>
341<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;{</div>
342<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>
343<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
344</div><!-- fragment -->
345<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
346
347</div>
348</div>
349<a id="ad44ecd3700748dc30dc4bbe34ba5bde7"></a>
350<h2 class="memtitle"><span class="permalink"><a href="#ad44ecd3700748dc30dc4bbe34ba5bde7">&#9670;&nbsp;</a></span>Create()</h2>
351
352<div class="memitem">
353<div class="memproto">
354<table class="mlabels">
355 <tr>
356 <td class="mlabels-left">
357 <table class="memname">
358 <tr>
359 <td class="memname"><a class="el" href="namespacearmnn.html#a150468a02bd7b2d2d061c4aaaee939f0">IRuntimePtr</a> Create </td>
360 <td>(</td>
361 <td class="paramtype">const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">CreationOptions</a> &amp;&#160;</td>
362 <td class="paramname"><em>options</em></td><td>)</td>
363 <td></td>
364 </tr>
365 </table>
366 </td>
367 <td class="mlabels-right">
368<span class="mlabels"><span class="mlabel">static</span></span> </td>
369 </tr>
370</table>
371</div><div class="memdoc">
372<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>
373</dl>
374
375<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>
376<div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div>
377<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>
378<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;}</div>
379</div><!-- fragment -->
380<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>
381
382<p class="reference">Referenced by <a class="el" href="_armnn_device_8cpp_source.html#l00042">ArmnnDevice::ArmnnDevice()</a>.</p>
383
384</div>
385</div>
386<a id="a4646ef5dbce8d3aae30fc99638226069"></a>
387<h2 class="memtitle"><span class="permalink"><a href="#a4646ef5dbce8d3aae30fc99638226069">&#9670;&nbsp;</a></span>CreateRaw()</h2>
388
389<div class="memitem">
390<div class="memproto">
391<table class="mlabels">
392 <tr>
393 <td class="mlabels-left">
394 <table class="memname">
395 <tr>
396 <td class="memname"><a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> * CreateRaw </td>
397 <td>(</td>
398 <td class="paramtype">const <a class="el" href="structarmnn_1_1_i_runtime_1_1_creation_options.html">CreationOptions</a> &amp;&#160;</td>
399 <td class="paramname"><em>options</em></td><td>)</td>
400 <td></td>
401 </tr>
402 </table>
403 </td>
404 <td class="mlabels-right">
405<span class="mlabels"><span class="mlabel">static</span></span> </td>
406 </tr>
407</table>
408</div><div class="memdoc">
409
410<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>
411<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div>
412<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>
413<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div>
414</div><!-- fragment -->
415<p class="reference">References <a class="el" href="_runtime_8cpp_source.html#l00041">IRuntime::IRuntime()</a>.</p>
416
417<p class="reference">Referenced by <a class="el" href="_runtime_8cpp_source.html#l00052">IRuntime::Create()</a>.</p>
418
419</div>
420</div>
421<a id="a16e72675c37a8f251cf02951e222d4ab"></a>
422<h2 class="memtitle"><span class="permalink"><a href="#a16e72675c37a8f251cf02951e222d4ab">&#9670;&nbsp;</a></span>CreateWorkingMemHandle()</h2>
423
424<div class="memitem">
425<div class="memproto">
426 <table class="memname">
427 <tr>
428 <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>
429 <td>(</td>
430 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
431 <td class="paramname"><em>networkId</em></td><td>)</td>
432 <td></td>
433 </tr>
434 </table>
435</div><div class="memdoc">
436
437<p>Create a new unique WorkingMemHandle object. </p>
438<p>Create multiple handles if you wish to have overlapped Execution by calling this function from different threads. </p>
439
440<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>
441<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div>
442<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>
443<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div>
444</div><!-- fragment -->
445<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
446
447</div>
448</div>
449<a id="a978f3d0d34a944b40240bd130d61e3b6"></a>
450<h2 class="memtitle"><span class="permalink"><a href="#a978f3d0d34a944b40240bd130d61e3b6">&#9670;&nbsp;</a></span>Destroy()</h2>
451
452<div class="memitem">
453<div class="memproto">
454<table class="mlabels">
455 <tr>
456 <td class="mlabels-left">
457 <table class="memname">
458 <tr>
459 <td class="memname">void Destroy </td>
460 <td>(</td>
461 <td class="paramtype"><a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a> *&#160;</td>
462 <td class="paramname"><em>runtime</em></td><td>)</td>
463 <td></td>
464 </tr>
465 </table>
466 </td>
467 <td class="mlabels-right">
468<span class="mlabels"><span class="mlabel">static</span></span> </td>
469 </tr>
470</table>
471</div><div class="memdoc">
472
473<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>
474<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div>
475<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">delete</span> runtime;</div>
476<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div>
477</div><!-- fragment -->
478<p class="reference">Referenced by <a class="el" href="_runtime_8cpp_source.html#l00052">IRuntime::Create()</a>.</p>
479
480</div>
481</div>
482<a id="aca51209383683ab8dbe801bbfddfe0c0"></a>
483<h2 class="memtitle"><span class="permalink"><a href="#aca51209383683ab8dbe801bbfddfe0c0">&#9670;&nbsp;</a></span>EnqueueWorkload()</h2>
484
485<div class="memitem">
486<div class="memproto">
487 <table class="memname">
488 <tr>
489 <td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> EnqueueWorkload </td>
490 <td>(</td>
491 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
492 <td class="paramname"><em>networkId</em>, </td>
493 </tr>
494 <tr>
495 <td class="paramkey"></td>
496 <td></td>
497 <td class="paramtype">const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;&#160;</td>
498 <td class="paramname"><em>inputTensors</em>, </td>
499 </tr>
500 <tr>
501 <td class="paramkey"></td>
502 <td></td>
503 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;&#160;</td>
504 <td class="paramname"><em>outputTensors</em>, </td>
505 </tr>
506 <tr>
507 <td class="paramkey"></td>
508 <td></td>
509 <td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt;&#160;</td>
510 <td class="paramname"><em>preImportedInputIds</em> = <code>{}</code>, </td>
511 </tr>
512 <tr>
513 <td class="paramkey"></td>
514 <td></td>
515 <td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt;&#160;</td>
516 <td class="paramname"><em>preImportedOutputIds</em> = <code>{}</code>&#160;</td>
517 </tr>
518 <tr>
519 <td></td>
520 <td>)</td>
521 <td></td><td></td>
522 </tr>
523 </table>
524</div><div class="memdoc">
525
526<p>Evaluates a network using input in inputTensors and outputs filled into outputTensors. </p>
527
528<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>
529<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;{</div>
530<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>
531<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; preImportedInputIds, preImportedOutputIds);</div>
532<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div>
533</div><!-- fragment -->
534<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
535
536<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00374">ArmnnPreparedModel::ExecuteGraph()</a>.</p>
537
538</div>
539</div>
540<a id="a27f91ba619c3c6fd5e640df91b3fd080"></a>
541<h2 class="memtitle"><span class="permalink"><a href="#a27f91ba619c3c6fd5e640df91b3fd080">&#9670;&nbsp;</a></span>Execute()</h2>
542
543<div class="memitem">
544<div class="memproto">
545 <table class="memname">
546 <tr>
547 <td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> Execute </td>
548 <td>(</td>
549 <td class="paramtype"><a class="el" href="classarmnn_1_1experimental_1_1_i_working_mem_handle.html">IWorkingMemHandle</a> &amp;&#160;</td>
550 <td class="paramname"><em>workingMemHandle</em>, </td>
551 </tr>
552 <tr>
553 <td class="paramkey"></td>
554 <td></td>
555 <td class="paramtype">const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;&#160;</td>
556 <td class="paramname"><em>inputTensors</em>, </td>
557 </tr>
558 <tr>
559 <td class="paramkey"></td>
560 <td></td>
561 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;&#160;</td>
562 <td class="paramname"><em>outputTensors</em>, </td>
563 </tr>
564 <tr>
565 <td class="paramkey"></td>
566 <td></td>
567 <td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt;&#160;</td>
568 <td class="paramname"><em>preImportedInputs</em> = <code>{}</code>, </td>
569 </tr>
570 <tr>
571 <td class="paramkey"></td>
572 <td></td>
573 <td class="paramtype">std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt;&#160;</td>
574 <td class="paramname"><em>preImportedOutputs</em> = <code>{}</code>&#160;</td>
575 </tr>
576 <tr>
577 <td></td>
578 <td>)</td>
579 <td></td><td></td>
580 </tr>
581 </table>
582</div><div class="memdoc">
583
584<p>This is an experimental function. </p>
585<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>
586
587<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>
588<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div>
589<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>
590<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; inputTensors,</div>
591<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; outputTensors,</div>
592<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; preImportedInputs,</div>
593<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; preImportedOutputs);</div>
594<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;}</div>
595</div><!-- fragment -->
596<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
597
598</div>
599</div>
600<a id="a25db7b8e6fc90f8418439ccd33aaf184"></a>
601<h2 class="memtitle"><span class="permalink"><a href="#a25db7b8e6fc90f8418439ccd33aaf184">&#9670;&nbsp;</a></span>GetDeviceSpec()</h2>
602
603<div class="memitem">
604<div class="memproto">
605 <table class="memname">
606 <tr>
607 <td class="memname">const <a class="el" href="classarmnn_1_1_i_device_spec.html">IDeviceSpec</a> &amp; GetDeviceSpec </td>
608 <td>(</td>
609 <td class="paramname"></td><td>)</td>
610 <td> const</td>
611 </tr>
612 </table>
613</div><div class="memdoc">
614
615<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>
616<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div>
617<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>
618<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
619</div><!-- fragment -->
620<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
621
622</div>
623</div>
624<a id="a25f528b76d8116e08cddc7d4a8661ee1"></a>
625<h2 class="memtitle"><span class="permalink"><a href="#a25f528b76d8116e08cddc7d4a8661ee1">&#9670;&nbsp;</a></span>GetInputTensorInfo()</h2>
626
627<div class="memitem">
628<div class="memproto">
629 <table class="memname">
630 <tr>
631 <td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> GetInputTensorInfo </td>
632 <td>(</td>
633 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
634 <td class="paramname"><em>networkId</em>, </td>
635 </tr>
636 <tr>
637 <td class="paramkey"></td>
638 <td></td>
639 <td class="paramtype"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td>
640 <td class="paramname"><em>layerId</em>&#160;</td>
641 </tr>
642 <tr>
643 <td></td>
644 <td>)</td>
645 <td></td><td> const</td>
646 </tr>
647 </table>
648</div><div class="memdoc">
649
650<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>
651<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{</div>
652<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>
653<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}</div>
654</div><!-- fragment -->
655<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
656
657<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00646">ArmnnPreparedModel::ExecuteWithDummyInputs()</a>.</p>
658
659</div>
660</div>
661<a id="a5dccecd36bb6eda573be616face68035"></a>
662<h2 class="memtitle"><span class="permalink"><a href="#a5dccecd36bb6eda573be616face68035">&#9670;&nbsp;</a></span>GetOutputTensorInfo()</h2>
663
664<div class="memitem">
665<div class="memproto">
666 <table class="memname">
667 <tr>
668 <td class="memname"><a class="el" href="classarmnn_1_1_tensor_info.html">armnn::TensorInfo</a> GetOutputTensorInfo </td>
669 <td>(</td>
670 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
671 <td class="paramname"><em>networkId</em>, </td>
672 </tr>
673 <tr>
674 <td class="paramkey"></td>
675 <td></td>
676 <td class="paramtype"><a class="el" href="namespacearmnn.html#ab8cf8f9fb6792e654c2d8d8382f6f01b">LayerBindingId</a>&#160;</td>
677 <td class="paramname"><em>layerId</em>&#160;</td>
678 </tr>
679 <tr>
680 <td></td>
681 <td>)</td>
682 <td></td><td> const</td>
683 </tr>
684 </table>
685</div><div class="memdoc">
686
687<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>
688<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{</div>
689<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>
690<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
691</div><!-- fragment -->
692<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
693
694<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00646">ArmnnPreparedModel::ExecuteWithDummyInputs()</a>.</p>
695
696</div>
697</div>
698<a id="af87d0743d1266e264c3197a32299f4b2"></a>
699<h2 class="memtitle"><span class="permalink"><a href="#af87d0743d1266e264c3197a32299f4b2">&#9670;&nbsp;</a></span>GetProfiler()</h2>
700
701<div class="memitem">
702<div class="memproto">
703 <table class="memname">
704 <tr>
705 <td class="memname">const std::shared_ptr&lt; <a class="el" href="classarmnn_1_1_i_profiler.html">IProfiler</a> &gt; GetProfiler </td>
706 <td>(</td>
707 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
708 <td class="paramname"><em>networkId</em></td><td>)</td>
709 <td> const</td>
710 </tr>
711 </table>
712</div><div class="memdoc">
713
714<p>Gets the profiler corresponding to the given network id. </p>
715<dl class="params"><dt>Parameters</dt><dd>
716 <table class="params">
717 <tr><td class="paramname">networkId</td><td>The id of the network for which to get the profile. </td></tr>
718 </table>
719 </dd>
720</dl>
721<dl class="section return"><dt>Returns</dt><dd>A pointer to the requested profiler, or nullptr if not found. </dd></dl>
722
723<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>
724<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div>
725<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>
726<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
727</div><!-- fragment -->
728<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
729
730<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00626">ArmnnPreparedModel::~ArmnnPreparedModel()</a>.</p>
731
732</div>
733</div>
734<a id="ac2cb56a0d7ee6fb53e9f97e624973c19"></a>
735<h2 class="memtitle"><span class="permalink"><a href="#ac2cb56a0d7ee6fb53e9f97e624973c19">&#9670;&nbsp;</a></span>ImportInputs()</h2>
736
737<div class="memitem">
738<div class="memproto">
739 <table class="memname">
740 <tr>
741 <td class="memname">std::vector&lt; <a class="el" href="namespacearmnn.html#a1c5ec805688cb558465a82a8d9f56a90">ImportedInputId</a> &gt; ImportInputs </td>
742 <td>(</td>
743 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
744 <td class="paramname"><em>networkId</em>, </td>
745 </tr>
746 <tr>
747 <td class="paramkey"></td>
748 <td></td>
749 <td class="paramtype">const <a class="el" href="namespacearmnn.html#aa01bce88f89975a5a031db4cc8861527">InputTensors</a> &amp;&#160;</td>
750 <td class="paramname"><em>inputTensors</em>, </td>
751 </tr>
752 <tr>
753 <td class="paramkey"></td>
754 <td></td>
755 <td class="paramtype"><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a>&#160;</td>
756 <td class="paramname"><em>forceImportMemorySource</em> = <code><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a></code>&#160;</td>
757 </tr>
758 <tr>
759 <td></td>
760 <td>)</td>
761 <td></td><td></td>
762 </tr>
763 </table>
764</div><div class="memdoc">
765
766<p>ImportInputs separates the importing and mapping of InputTensors from network execution. </p>
767<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>
768
769<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>
770<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;{</div>
771<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>
772<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;}</div>
773</div><!-- fragment -->
774<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
775
776<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00374">ArmnnPreparedModel::ExecuteGraph()</a>.</p>
777
778</div>
779</div>
780<a id="a7db39b06bc7f50287f54320d26df4373"></a>
781<h2 class="memtitle"><span class="permalink"><a href="#a7db39b06bc7f50287f54320d26df4373">&#9670;&nbsp;</a></span>ImportOutputs()</h2>
782
783<div class="memitem">
784<div class="memproto">
785 <table class="memname">
786 <tr>
787 <td class="memname">std::vector&lt; <a class="el" href="namespacearmnn.html#ac68a434f0e78e33726bfb22a39ec813f">ImportedOutputId</a> &gt; ImportOutputs </td>
788 <td>(</td>
789 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
790 <td class="paramname"><em>networkId</em>, </td>
791 </tr>
792 <tr>
793 <td class="paramkey"></td>
794 <td></td>
795 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a8f091a512915d1cb29a4ebf13dfc53ea">OutputTensors</a> &amp;&#160;</td>
796 <td class="paramname"><em>outputTensors</em>, </td>
797 </tr>
798 <tr>
799 <td class="paramkey"></td>
800 <td></td>
801 <td class="paramtype"><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a>&#160;</td>
802 <td class="paramname"><em>forceImportMemorySource</em> = <code><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a></code>&#160;</td>
803 </tr>
804 <tr>
805 <td></td>
806 <td>)</td>
807 <td></td><td></td>
808 </tr>
809 </table>
810</div><div class="memdoc">
811
812<p>ImportOutputs separates the importing and mapping of OutputTensors from network execution. </p>
813<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>
814
815<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>
816<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;{</div>
817<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>
818<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
819</div><!-- fragment -->
820<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
821
822<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00374">ArmnnPreparedModel::ExecuteGraph()</a>.</p>
823
824</div>
825</div>
826<a id="af92b5ae61208a778571bcea7e6aac7b4"></a>
827<h2 class="memtitle"><span class="permalink"><a href="#af92b5ae61208a778571bcea7e6aac7b4">&#9670;&nbsp;</a></span>LoadNetwork() <span class="overload">[1/3]</span></h2>
828
829<div class="memitem">
830<div class="memproto">
831 <table class="memname">
832 <tr>
833 <td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> LoadNetwork </td>
834 <td>(</td>
835 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;&#160;</td>
836 <td class="paramname"><em>networkIdOut</em>, </td>
837 </tr>
838 <tr>
839 <td class="paramkey"></td>
840 <td></td>
841 <td class="paramtype"><a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>&#160;</td>
842 <td class="paramname"><em>network</em>&#160;</td>
843 </tr>
844 <tr>
845 <td></td>
846 <td>)</td>
847 <td></td><td></td>
848 </tr>
849 </table>
850</div><div class="memdoc">
851
852<p>Loads a complete network into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. </p>
853<dl class="params"><dt>Parameters</dt><dd>
854 <table class="params">
855 <tr><td class="paramdir">[out]</td><td class="paramname">networkIdOut</td><td>- Unique identifier for the network is returned in this reference. </td></tr>
856 <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>
857 </table>
858 </dd>
859</dl>
860<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">armnn::Status</a> </dd></dl>
861
862<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>
863<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{</div>
864<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>
865<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div>
866</div><!-- fragment -->
867<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
868
869</div>
870</div>
871<a id="a0e36bbd86f21d7ddec31588deed2ac77"></a>
872<h2 class="memtitle"><span class="permalink"><a href="#a0e36bbd86f21d7ddec31588deed2ac77">&#9670;&nbsp;</a></span>LoadNetwork() <span class="overload">[2/3]</span></h2>
873
874<div class="memitem">
875<div class="memproto">
876 <table class="memname">
877 <tr>
878 <td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> LoadNetwork </td>
879 <td>(</td>
880 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;&#160;</td>
881 <td class="paramname"><em>networkIdOut</em>, </td>
882 </tr>
883 <tr>
884 <td class="paramkey"></td>
885 <td></td>
886 <td class="paramtype"><a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>&#160;</td>
887 <td class="paramname"><em>network</em>, </td>
888 </tr>
889 <tr>
890 <td class="paramkey"></td>
891 <td></td>
892 <td class="paramtype">std::string &amp;&#160;</td>
893 <td class="paramname"><em>errorMessage</em>&#160;</td>
894 </tr>
895 <tr>
896 <td></td>
897 <td>)</td>
898 <td></td><td></td>
899 </tr>
900 </table>
901</div><div class="memdoc">
902
903<p>Load a complete network into the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. </p>
904<dl class="params"><dt>Parameters</dt><dd>
905 <table class="params">
906 <tr><td class="paramdir">[out]</td><td class="paramname">networkIdOut</td><td>Unique identifier for the network is returned in this reference. </td></tr>
907 <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>
908 <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>
909 </table>
910 </dd>
911</dl>
912<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">armnn::Status</a> </dd></dl>
913
914<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>
915<div class="fragment"><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;{</div>
916<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>
917<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div>
918</div><!-- fragment -->
919<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
920
921</div>
922</div>
923<a id="a65582587432a8dd20c3b1ad2a4f1f642"></a>
924<h2 class="memtitle"><span class="permalink"><a href="#a65582587432a8dd20c3b1ad2a4f1f642">&#9670;&nbsp;</a></span>LoadNetwork() <span class="overload">[3/3]</span></h2>
925
926<div class="memitem">
927<div class="memproto">
928 <table class="memname">
929 <tr>
930 <td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> LoadNetwork </td>
931 <td>(</td>
932 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a> &amp;&#160;</td>
933 <td class="paramname"><em>networkIdOut</em>, </td>
934 </tr>
935 <tr>
936 <td class="paramkey"></td>
937 <td></td>
938 <td class="paramtype"><a class="el" href="namespacearmnn.html#a674efcf6cbdb9e831d653ff0e821fb38">IOptimizedNetworkPtr</a>&#160;</td>
939 <td class="paramname"><em>network</em>, </td>
940 </tr>
941 <tr>
942 <td class="paramkey"></td>
943 <td></td>
944 <td class="paramtype">std::string &amp;&#160;</td>
945 <td class="paramname"><em>errorMessage</em>, </td>
946 </tr>
947 <tr>
948 <td class="paramkey"></td>
949 <td></td>
950 <td class="paramtype">const <a class="el" href="structarmnn_1_1_i_network_properties.html">INetworkProperties</a> &amp;&#160;</td>
951 <td class="paramname"><em>networkProperties</em>&#160;</td>
952 </tr>
953 <tr>
954 <td></td>
955 <td>)</td>
956 <td></td><td></td>
957 </tr>
958 </table>
959</div><div class="memdoc">
960
961<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>
962<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
963<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>
964<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
965</div><!-- fragment -->
966<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
967
968</div>
969</div>
970<a id="a957014ce1bfd27e99f0a50b3ced439e1"></a>
971<h2 class="memtitle"><span class="permalink"><a href="#a957014ce1bfd27e99f0a50b3ced439e1">&#9670;&nbsp;</a></span>RegisterDebugCallback()</h2>
972
973<div class="memitem">
974<div class="memproto">
975 <table class="memname">
976 <tr>
977 <td class="memname">void RegisterDebugCallback </td>
978 <td>(</td>
979 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
980 <td class="paramname"><em>networkId</em>, </td>
981 </tr>
982 <tr>
983 <td class="paramkey"></td>
984 <td></td>
985 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a15f3ad9b5e4e3d46b0a6dda246a7bc28">DebugCallbackFunction</a> &amp;&#160;</td>
986 <td class="paramname"><em>func</em>&#160;</td>
987 </tr>
988 <tr>
989 <td></td>
990 <td>)</td>
991 <td></td><td></td>
992 </tr>
993 </table>
994</div><div class="memdoc">
995
996<p>Registers a callback function to debug layers performing custom computations on intermediate tensors. </p>
997<dl class="params"><dt>Parameters</dt><dd>
998 <table class="params">
999 <tr><td class="paramname">networkId</td><td>The id of the network to register the callback. </td></tr>
1000 <tr><td class="paramname">func</td><td>callback function to pass to the debug layer. </td></tr>
1001 </table>
1002 </dd>
1003</dl>
1004
1005<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>
1006<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;{</div>
1007<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>
1008<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;}</div>
1009</div><!-- fragment -->
1010<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
1011
1012</div>
1013</div>
1014<a id="aed397991b99f485ffab9a42aece47019"></a>
1015<h2 class="memtitle"><span class="permalink"><a href="#aed397991b99f485ffab9a42aece47019">&#9670;&nbsp;</a></span>UnloadNetwork()</h2>
1016
1017<div class="memitem">
1018<div class="memproto">
1019 <table class="memname">
1020 <tr>
1021 <td class="memname"><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> UnloadNetwork </td>
1022 <td>(</td>
1023 <td class="paramtype"><a class="el" href="namespacearmnn.html#a0d8160388a127c1a23b37bc88dc6e2ec">NetworkId</a>&#160;</td>
1024 <td class="paramname"><em>networkId</em></td><td>)</td>
1025 <td></td>
1026 </tr>
1027 </table>
1028</div><div class="memdoc">
1029
1030<p>Unloads a network from the <a class="el" href="classarmnn_1_1_i_runtime.html">IRuntime</a>. </p>
1031<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>
1032 <table class="params">
1033 <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>
1034 </table>
1035 </dd>
1036</dl>
1037<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacearmnn.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">armnn::Status</a> </dd></dl>
1038
1039<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>
1040<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;{</div>
1041<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>
1042<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div>
1043</div><!-- fragment -->
1044<p class="reference">References <a class="el" href="_i_runtime_8hpp_source.html#l00296">IRuntime::pRuntimeImpl</a>.</p>
1045
1046<p class="reference">Referenced by <a class="el" href="_armnn_prepared_model_8cpp_source.html#l00626">ArmnnPreparedModel::~ArmnnPreparedModel()</a>.</p>
1047
1048</div>
1049</div>
1050<h2 class="groupheader">Member Data Documentation</h2>
1051<a id="a92dbd7245696596a2c8e831de26cec02"></a>
1052<h2 class="memtitle"><span class="permalink"><a href="#a92dbd7245696596a2c8e831de26cec02">&#9670;&nbsp;</a></span>pRuntimeImpl</h2>
1053
1054<div class="memitem">
1055<div class="memproto">
1056<table class="mlabels">
1057 <tr>
1058 <td class="mlabels-left">
1059 <table class="memname">
1060 <tr>
1061 <td class="memname">std::unique_ptr&lt;<a class="el" href="structarmnn_1_1_runtime_impl.html">RuntimeImpl</a>&gt; pRuntimeImpl</td>
1062 </tr>
1063 </table>
1064 </td>
1065 <td class="mlabels-right">
1066<span class="mlabels"><span class="mlabel">protected</span></span> </td>
1067 </tr>
1068</table>
1069</div><div class="memdoc">
1070
1071<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>
1072
1073<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>
1074
1075</div>
1076</div>
1077<hr/>The documentation for this class was generated from the following files:<ul>
1078<li>include/armnn/<a class="el" href="_i_runtime_8hpp_source.html">IRuntime.hpp</a></li>
1079<li>src/armnn/<a class="el" href="_runtime_8cpp_source.html">Runtime.cpp</a></li>
1080</ul>
1081</div><!-- contents -->
1082</div><!-- doc-content -->
1083<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>
1084<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>
1085<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>
1086<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>
1087<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>
1088<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>
1089<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>
1090<!-- start footer part -->
1091<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1092 <ul>
1093 <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>
1094 <li class="footer">Generated on Thu May 16 2024 09:31:56 for Arm NN by
1095 <a href="http://www.doxygen.org/index.html">
1096 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
1097 </ul>
1098</div>
1099</body>
1100</html>