blob: 676a516736fd0e000a6772f3321004dbf2fbccbf [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: GpuFsaTensorHandle 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_gpu_fsa_tensor_handle.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="#pub-methods">Public Member Functions</a> &#124;
97<a href="classarmnn_1_1_gpu_fsa_tensor_handle-members.html">List of all members</a> </div>
98 <div class="headertitle">
99<div class="title">GpuFsaTensorHandle Class Reference</div> </div>
100</div><!--header-->
101<div class="contents">
102
103<p><code>#include &lt;<a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>&gt;</code></p>
104<div class="dynheader">
105Inheritance diagram for GpuFsaTensorHandle:</div>
106<div class="dyncontent">
107<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_gpu_fsa_tensor_handle__inherit__graph.svg" width="170" height="262"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
108</div>
109<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
110<div class="dynheader">
111Collaboration diagram for GpuFsaTensorHandle:</div>
112<div class="dyncontent">
113<div class="center"><iframe scrolling="no" frameborder="0" src="classarmnn_1_1_gpu_fsa_tensor_handle__coll__graph.svg" width="170" height="262"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
114</div>
115<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
116<table class="memberdecls">
117<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
118Public Member Functions</h2></td></tr>
119<tr class="memitem:a73b2cba0770be6487f6f95cb05883b61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a73b2cba0770be6487f6f95cb05883b61">GpuFsaTensorHandle</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;tensorInfo)</td></tr>
120<tr class="separator:a73b2cba0770be6487f6f95cb05883b61"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:a50382009b65f354d72a3a6872ba83ea8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a50382009b65f354d72a3a6872ba83ea8">GpuFsaTensorHandle</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;tensorInfo, <a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a> dataLayout, <a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a> importFlags=static_cast&lt; <a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a> &gt;(<a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a>))</td></tr>
122<tr class="separator:a50382009b65f354d72a3a6872ba83ea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:aa7d00659f5bca101f9a20b4ac22df577"><td class="memItemLeft" align="right" valign="top">arm_compute::CLTensor &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#aa7d00659f5bca101f9a20b4ac22df577">GetTensor</a> () override</td></tr>
124<tr class="separator:aa7d00659f5bca101f9a20b4ac22df577"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:ab9c5e9d2f0654981bdc8fff0ff902d51"><td class="memItemLeft" align="right" valign="top">arm_compute::CLTensor const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#ab9c5e9d2f0654981bdc8fff0ff902d51">GetTensor</a> () const override</td></tr>
126<tr class="separator:ab9c5e9d2f0654981bdc8fff0ff902d51"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:a8518772c5d692e334a76617582b10b92"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a8518772c5d692e334a76617582b10b92">Allocate</a> () override</td></tr>
128<tr class="memdesc:a8518772c5d692e334a76617582b10b92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicate to the memory manager that this resource is no longer active. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a8518772c5d692e334a76617582b10b92">More...</a><br /></td></tr>
129<tr class="separator:a8518772c5d692e334a76617582b10b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:aca21728cdaa75f9d656d25ae7200ade5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#aca21728cdaa75f9d656d25ae7200ade5">Manage</a> () override</td></tr>
131<tr class="memdesc:aca21728cdaa75f9d656d25ae7200ade5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicate to the memory manager that this resource is active. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#aca21728cdaa75f9d656d25ae7200ade5">More...</a><br /></td></tr>
132<tr class="separator:aca21728cdaa75f9d656d25ae7200ade5"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:a96ffc085ec42d7c333304ab92e09cd60"><td class="memItemLeft" align="right" valign="top">virtual const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a96ffc085ec42d7c333304ab92e09cd60">Map</a> (bool blocking=true) const override</td></tr>
134<tr class="memdesc:a96ffc085ec42d7c333304ab92e09cd60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the tensor data for access. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a96ffc085ec42d7c333304ab92e09cd60">More...</a><br /></td></tr>
135<tr class="separator:a96ffc085ec42d7c333304ab92e09cd60"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:a88ab6decf78c152e746b7d8dc2dd931f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a88ab6decf78c152e746b7d8dc2dd931f">Unmap</a> () const override</td></tr>
137<tr class="memdesc:a88ab6decf78c152e746b7d8dc2dd931f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmap the tensor data. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a88ab6decf78c152e746b7d8dc2dd931f">More...</a><br /></td></tr>
138<tr class="separator:a88ab6decf78c152e746b7d8dc2dd931f"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:ab6c52b35388890f2c563afbebfb456a6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#ab6c52b35388890f2c563afbebfb456a6">GetParent</a> () const override</td></tr>
140<tr class="memdesc:ab6c52b35388890f2c563afbebfb456a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the parent tensor if this is a subtensor. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#ab6c52b35388890f2c563afbebfb456a6">More...</a><br /></td></tr>
141<tr class="separator:ab6c52b35388890f2c563afbebfb456a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<tr class="memitem:ad3e63bb560123889f1ec98e40c5f8279"><td class="memItemLeft" align="right" valign="top">virtual arm_compute::DataType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#ad3e63bb560123889f1ec98e40c5f8279">GetDataType</a> () const override</td></tr>
143<tr class="separator:ad3e63bb560123889f1ec98e40c5f8279"><td class="memSeparator" colspan="2">&#160;</td></tr>
144<tr class="memitem:af9c82a4633347a36ad10c8bfab384396"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#af9c82a4633347a36ad10c8bfab384396">SetMemoryGroup</a> (const std::shared_ptr&lt; arm_compute::IMemoryGroup &gt; &amp;memoryGroup) override</td></tr>
145<tr class="separator:af9c82a4633347a36ad10c8bfab384396"><td class="memSeparator" colspan="2">&#160;</td></tr>
146<tr class="memitem:a967f220393d291f71dabce0c06bf9b6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a967f220393d291f71dabce0c06bf9b6c">GetStrides</a> () const override</td></tr>
147<tr class="memdesc:a967f220393d291f71dabce0c06bf9b6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the strides for each dimension ordered from largest to smallest where the smallest value is the same as the size of a single element in the tensor. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a967f220393d291f71dabce0c06bf9b6c">More...</a><br /></td></tr>
148<tr class="separator:a967f220393d291f71dabce0c06bf9b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:a8e8d2fbabcac19f9e12779080ddff54e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a8e8d2fbabcac19f9e12779080ddff54e">GetShape</a> () const override</td></tr>
150<tr class="memdesc:a8e8d2fbabcac19f9e12779080ddff54e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of elements for each dimension ordered from slowest iterating dimension to fastest iterating dimension. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a8e8d2fbabcac19f9e12779080ddff54e">More...</a><br /></td></tr>
151<tr class="separator:a8e8d2fbabcac19f9e12779080ddff54e"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<tr class="memitem:acd3ddbebcda4124217925ae36d551441"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#acd3ddbebcda4124217925ae36d551441">SetImportFlags</a> (<a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a> importFlags)</td></tr>
153<tr class="separator:acd3ddbebcda4124217925ae36d551441"><td class="memSeparator" colspan="2">&#160;</td></tr>
154<tr class="memitem:aa1d3334a17a9f136fe65ed833fbf68b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#aa1d3334a17a9f136fe65ed833fbf68b4">GetImportFlags</a> () const override</td></tr>
155<tr class="memdesc:aa1d3334a17a9f136fe65ed833fbf68b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get flags describing supported import sources. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#aa1d3334a17a9f136fe65ed833fbf68b4">More...</a><br /></td></tr>
156<tr class="separator:aa1d3334a17a9f136fe65ed833fbf68b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:a9b8adcb578eb6f9ad63c21b1fa43bb14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a9b8adcb578eb6f9ad63c21b1fa43bb14">SetImportEnabledFlag</a> (bool importEnabledFlag)</td></tr>
158<tr class="separator:a9b8adcb578eb6f9ad63c21b1fa43bb14"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<tr class="memitem:ab74840a06082b2a5693b1ff79706fa26"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#ab74840a06082b2a5693b1ff79706fa26">Import</a> (void *, <a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a> source) override</td></tr>
160<tr class="memdesc:ab74840a06082b2a5693b1ff79706fa26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Import externally allocated memory. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#ab74840a06082b2a5693b1ff79706fa26">More...</a><br /></td></tr>
161<tr class="separator:ab74840a06082b2a5693b1ff79706fa26"><td class="memSeparator" colspan="2">&#160;</td></tr>
162<tr class="memitem:a92431657a8c9fbcf38baf7701d90e5c6"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a92431657a8c9fbcf38baf7701d90e5c6">CanBeImported</a> (void *, <a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a>) override</td></tr>
163<tr class="memdesc:a92431657a8c9fbcf38baf7701d90e5c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementations must determine if this memory block can be imported. <a href="classarmnn_1_1_gpu_fsa_tensor_handle.html#a92431657a8c9fbcf38baf7701d90e5c6">More...</a><br /></td></tr>
164<tr class="separator:a92431657a8c9fbcf38baf7701d90e5c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="inherit_header pub_methods_classarmnn_1_1_i_tensor_handle"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_i_tensor_handle')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a></td></tr>
166<tr class="memitem:aff95f063e2b8041b3d0e4b4dc0e3821d inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_tensor_handle.html#aff95f063e2b8041b3d0e4b4dc0e3821d">~ITensorHandle</a> ()</td></tr>
167<tr class="separator:aff95f063e2b8041b3d0e4b4dc0e3821d inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
168<tr class="memitem:a270c8f844df649b9b0599c1e4db44cd3 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_tensor_handle.html#a270c8f844df649b9b0599c1e4db44cd3">Map</a> (bool blocking=true)</td></tr>
169<tr class="memdesc:a270c8f844df649b9b0599c1e4db44cd3 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map the tensor data for access. <a href="classarmnn_1_1_i_tensor_handle.html#a270c8f844df649b9b0599c1e4db44cd3">More...</a><br /></td></tr>
170<tr class="separator:a270c8f844df649b9b0599c1e4db44cd3 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:ab2be1412c91842a072ad94759f52033e inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_tensor_handle.html#ab2be1412c91842a072ad94759f52033e">Unmap</a> ()</td></tr>
172<tr class="memdesc:ab2be1412c91842a072ad94759f52033e inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmap the tensor data that was previously mapped with call to <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a9afbc055a017adf1bc38ee137bca6e90" title="Map the tensor data for access.">Map()</a>. <a href="classarmnn_1_1_i_tensor_handle.html#ab2be1412c91842a072ad94759f52033e">More...</a><br /></td></tr>
173<tr class="separator:ab2be1412c91842a072ad94759f52033e inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<tr class="memitem:a9eee7f9d4e230d684a7307ac4d75d8a9 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_tensor_handle.html#a9eee7f9d4e230d684a7307ac4d75d8a9">Unimport</a> ()</td></tr>
175<tr class="memdesc:a9eee7f9d4e230d684a7307ac4d75d8a9 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unimport externally allocated memory. <a href="classarmnn_1_1_i_tensor_handle.html#a9eee7f9d4e230d684a7307ac4d75d8a9">More...</a><br /></td></tr>
176<tr class="separator:a9eee7f9d4e230d684a7307ac4d75d8a9 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:a82d949cbbc7667d9f13e3f2a474cad36 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; <a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_tensor_handle.html#a82d949cbbc7667d9f13e3f2a474cad36">DecorateTensorHandle</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;tensorInfo)</td></tr>
178<tr class="memdesc:a82d949cbbc7667d9f13e3f2a474cad36 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a decorated version of this <a class="el" href="classarmnn_1_1_tensor_handle.html">TensorHandle</a> allowing us to override the <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> for it. <a href="classarmnn_1_1_i_tensor_handle.html#a82d949cbbc7667d9f13e3f2a474cad36">More...</a><br /></td></tr>
179<tr class="separator:a82d949cbbc7667d9f13e3f2a474cad36 inherit pub_methods_classarmnn_1_1_i_tensor_handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
180</table>
181<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
182<div class="textblock">
183<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00025">25</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
184</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
185<a id="a73b2cba0770be6487f6f95cb05883b61"></a>
186<h2 class="memtitle"><span class="permalink"><a href="#a73b2cba0770be6487f6f95cb05883b61">&#9670;&nbsp;</a></span>GpuFsaTensorHandle() <span class="overload">[1/2]</span></h2>
187
188<div class="memitem">
189<div class="memproto">
190<table class="mlabels">
191 <tr>
192 <td class="mlabels-left">
193 <table class="memname">
194 <tr>
195 <td class="memname"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html">GpuFsaTensorHandle</a> </td>
196 <td>(</td>
197 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
198 <td class="paramname"><em>tensorInfo</em></td><td>)</td>
199 <td></td>
200 </tr>
201 </table>
202 </td>
203 <td class="mlabels-right">
204<span class="mlabels"><span class="mlabel">inline</span></span> </td>
205 </tr>
206</table>
207</div><div class="memdoc">
208
209<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00028">28</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
210<div class="fragment"><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; : m_ImportFlags(<span class="keyword">static_cast&lt;</span><a class="code" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a><span class="keyword">&gt;</span>(<a class="code" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a>)),</div>
211<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; m_Imported(<span class="keyword">false</span>),</div>
212<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; m_IsImportEnabled(<span class="keyword">false</span>)</div>
213<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; {</div>
214<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; armnn::armcomputetensorutils::BuildArmComputeTensor(m_Tensor, tensorInfo);</div>
215<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; }</div>
216</div><!-- fragment -->
217<p class="reference">References <a class="el" href="namespacearmnn.html#ae2f04a162585c0a5222a537efd5456aeaec0fc0100c4fc1ce4eea230c3dc10360">armnn::Undefined</a>.</p>
218
219</div>
220</div>
221<a id="a50382009b65f354d72a3a6872ba83ea8"></a>
222<h2 class="memtitle"><span class="permalink"><a href="#a50382009b65f354d72a3a6872ba83ea8">&#9670;&nbsp;</a></span>GpuFsaTensorHandle() <span class="overload">[2/2]</span></h2>
223
224<div class="memitem">
225<div class="memproto">
226<table class="mlabels">
227 <tr>
228 <td class="mlabels-left">
229 <table class="memname">
230 <tr>
231 <td class="memname"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html">GpuFsaTensorHandle</a> </td>
232 <td>(</td>
233 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
234 <td class="paramname"><em>tensorInfo</em>, </td>
235 </tr>
236 <tr>
237 <td class="paramkey"></td>
238 <td></td>
239 <td class="paramtype"><a class="el" href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">DataLayout</a>&#160;</td>
240 <td class="paramname"><em>dataLayout</em>, </td>
241 </tr>
242 <tr>
243 <td class="paramkey"></td>
244 <td></td>
245 <td class="paramtype"><a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a>&#160;</td>
246 <td class="paramname"><em>importFlags</em> = <code>static_cast&lt;<a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a>&gt;(<a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">MemorySource::Undefined</a>)</code>&#160;</td>
247 </tr>
248 <tr>
249 <td></td>
250 <td>)</td>
251 <td></td><td></td>
252 </tr>
253 </table>
254 </td>
255 <td class="mlabels-right">
256<span class="mlabels"><span class="mlabel">inline</span></span> </td>
257 </tr>
258</table>
259</div><div class="memdoc">
260
261<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00036">36</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
262<div class="fragment"><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; : m_ImportFlags(importFlags),</div>
263<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; m_Imported(<span class="keyword">false</span>),</div>
264<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; m_IsImportEnabled(<span class="keyword">false</span>)</div>
265<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div>
266<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; armnn::armcomputetensorutils::BuildArmComputeTensor(m_Tensor, tensorInfo, dataLayout);</div>
267<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div>
268</div><!-- fragment -->
269</div>
270</div>
271<h2 class="groupheader">Member Function Documentation</h2>
272<a id="a8518772c5d692e334a76617582b10b92"></a>
273<h2 class="memtitle"><span class="permalink"><a href="#a8518772c5d692e334a76617582b10b92">&#9670;&nbsp;</a></span>Allocate()</h2>
274
275<div class="memitem">
276<div class="memproto">
277<table class="mlabels">
278 <tr>
279 <td class="mlabels-left">
280 <table class="memname">
281 <tr>
282 <td class="memname">void Allocate </td>
283 <td>(</td>
284 <td class="paramname"></td><td>)</td>
285 <td></td>
286 </tr>
287 </table>
288 </td>
289 <td class="mlabels-right">
290<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
291 </tr>
292</table>
293</div><div class="memdoc">
294
295<p>Indicate to the memory manager that this resource is no longer active. </p>
296<p>This is used to compute overlapping lifetimes of resources. </p>
297
298<p>Implements <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a5cceed8b707a09bf27eb61f17acf8a88">ITensorHandle</a>.</p>
299
300<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00048">48</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
301<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
302<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// If we have enabled Importing, don&#39;t allocate the tensor</span></div>
303<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (m_IsImportEnabled)</div>
304<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div>
305<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">throw</span> MemoryImportException(<span class="stringliteral">&quot;GpuFsaTensorHandle::Attempting to allocate memory when importing&quot;</span>);</div>
306<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
307<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">else</span></div>
308<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
309<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; armnn::armcomputetensorutils::InitialiseArmComputeTensorEmpty(m_Tensor);</div>
310<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
311<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
312<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
313</div><!-- fragment -->
314</div>
315</div>
316<a id="a92431657a8c9fbcf38baf7701d90e5c6"></a>
317<h2 class="memtitle"><span class="permalink"><a href="#a92431657a8c9fbcf38baf7701d90e5c6">&#9670;&nbsp;</a></span>CanBeImported()</h2>
318
319<div class="memitem">
320<div class="memproto">
321<table class="mlabels">
322 <tr>
323 <td class="mlabels-left">
324 <table class="memname">
325 <tr>
326 <td class="memname">bool CanBeImported </td>
327 <td>(</td>
328 <td class="paramtype">void *&#160;</td>
329 <td class="paramname"><em>memory</em>, </td>
330 </tr>
331 <tr>
332 <td class="paramkey"></td>
333 <td></td>
334 <td class="paramtype"><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a>&#160;</td>
335 <td class="paramname"><em>source</em>&#160;</td>
336 </tr>
337 <tr>
338 <td></td>
339 <td>)</td>
340 <td></td><td></td>
341 </tr>
342 </table>
343 </td>
344 <td class="mlabels-right">
345<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
346 </tr>
347</table>
348</div><div class="memdoc">
349
350<p>Implementations must determine if this memory block can be imported. </p>
351<p>This might be based on alignment or memory source type. </p><dl class="section return"><dt>Returns</dt><dd>true if this memory can be imported. </dd>
352<dd>
353false by default, cannot be imported. </dd></dl>
354
355<p>Reimplemented from <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a6caeedd55f4d685fd04b8fcb352dae4e">ITensorHandle</a>.</p>
356
357<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00131">131</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
358<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
359<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// This TensorHandle can never import.</span></div>
360<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
361<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
362</div><!-- fragment -->
363</div>
364</div>
365<a id="ad3e63bb560123889f1ec98e40c5f8279"></a>
366<h2 class="memtitle"><span class="permalink"><a href="#ad3e63bb560123889f1ec98e40c5f8279">&#9670;&nbsp;</a></span>GetDataType()</h2>
367
368<div class="memitem">
369<div class="memproto">
370<table class="mlabels">
371 <tr>
372 <td class="mlabels-left">
373 <table class="memname">
374 <tr>
375 <td class="memname">virtual arm_compute::DataType GetDataType </td>
376 <td>(</td>
377 <td class="paramname"></td><td>)</td>
378 <td> const</td>
379 </tr>
380 </table>
381 </td>
382 <td class="mlabels-right">
383<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
384 </tr>
385</table>
386</div><div class="memdoc">
387
388<p>Implements <a class="el" href="classarmnn_1_1_i_cl_tensor_handle.html#a3767f569fc55323ddf7b2ee57987d9c5">IClTensorHandle</a>.</p>
389
390<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00086">86</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
391<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
392<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> m_Tensor.info()-&gt;data_type();</div>
393<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
394</div><!-- fragment -->
395</div>
396</div>
397<a id="aa1d3334a17a9f136fe65ed833fbf68b4"></a>
398<h2 class="memtitle"><span class="permalink"><a href="#aa1d3334a17a9f136fe65ed833fbf68b4">&#9670;&nbsp;</a></span>GetImportFlags()</h2>
399
400<div class="memitem">
401<div class="memproto">
402<table class="mlabels">
403 <tr>
404 <td class="mlabels-left">
405 <table class="memname">
406 <tr>
407 <td class="memname"><a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a> GetImportFlags </td>
408 <td>(</td>
409 <td class="paramname"></td><td>)</td>
410 <td> const</td>
411 </tr>
412 </table>
413 </td>
414 <td class="mlabels-right">
415<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
416 </tr>
417</table>
418</div><div class="memdoc">
419
420<p>Get flags describing supported import sources. </p>
421
422<p>Reimplemented from <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a55cddc2dbb32d680cd85b635ba370e48">ITensorHandle</a>.</p>
423
424<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00111">111</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
425<div class="fragment"><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
426<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> m_ImportFlags;</div>
427<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
428</div><!-- fragment -->
429</div>
430</div>
431<a id="ab6c52b35388890f2c563afbebfb456a6"></a>
432<h2 class="memtitle"><span class="permalink"><a href="#ab6c52b35388890f2c563afbebfb456a6">&#9670;&nbsp;</a></span>GetParent()</h2>
433
434<div class="memitem">
435<div class="memproto">
436<table class="mlabels">
437 <tr>
438 <td class="mlabels-left">
439 <table class="memname">
440 <tr>
441 <td class="memname">virtual <a class="el" href="classarmnn_1_1_i_tensor_handle.html">ITensorHandle</a>* GetParent </td>
442 <td>(</td>
443 <td class="paramname"></td><td>)</td>
444 <td> const</td>
445 </tr>
446 </table>
447 </td>
448 <td class="mlabels-right">
449<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
450 </tr>
451</table>
452</div><div class="memdoc">
453
454<p>Get the parent tensor if this is a subtensor. </p>
455<dl class="section return"><dt>Returns</dt><dd>a pointer to the parent tensor. Otherwise nullptr if not a subtensor. </dd></dl>
456
457<p>Implements <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a437893b8dcf58a0b68b70e1ad7933be6">ITensorHandle</a>.</p>
458
459<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00084">84</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
460<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{ <span class="keywordflow">return</span> <span class="keyword">nullptr</span>; }</div>
461</div><!-- fragment -->
462</div>
463</div>
464<a id="a8e8d2fbabcac19f9e12779080ddff54e"></a>
465<h2 class="memtitle"><span class="permalink"><a href="#a8e8d2fbabcac19f9e12779080ddff54e">&#9670;&nbsp;</a></span>GetShape()</h2>
466
467<div class="memitem">
468<div class="memproto">
469<table class="mlabels">
470 <tr>
471 <td class="mlabels-left">
472 <table class="memname">
473 <tr>
474 <td class="memname"><a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> GetShape </td>
475 <td>(</td>
476 <td class="paramname"></td><td>)</td>
477 <td> const</td>
478 </tr>
479 </table>
480 </td>
481 <td class="mlabels-right">
482<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
483 </tr>
484</table>
485</div><div class="memdoc">
486
487<p>Get the number of elements for each dimension ordered from slowest iterating dimension to fastest iterating dimension. </p>
488<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> filled with the number of elements for each dimension. </dd></dl>
489
490<p>Implements <a class="el" href="classarmnn_1_1_i_tensor_handle.html#affd5aae75cad90f472f96cfd25a13f29">ITensorHandle</a>.</p>
491
492<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00101">101</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
493<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div>
494<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> armcomputetensorutils::GetShape(m_Tensor.info()-&gt;tensor_shape());</div>
495<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
496</div><!-- fragment -->
497</div>
498</div>
499<a id="a967f220393d291f71dabce0c06bf9b6c"></a>
500<h2 class="memtitle"><span class="permalink"><a href="#a967f220393d291f71dabce0c06bf9b6c">&#9670;&nbsp;</a></span>GetStrides()</h2>
501
502<div class="memitem">
503<div class="memproto">
504<table class="mlabels">
505 <tr>
506 <td class="mlabels-left">
507 <table class="memname">
508 <tr>
509 <td class="memname"><a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> GetStrides </td>
510 <td>(</td>
511 <td class="paramname"></td><td>)</td>
512 <td> const</td>
513 </tr>
514 </table>
515 </td>
516 <td class="mlabels-right">
517<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
518 </tr>
519</table>
520</div><div class="memdoc">
521
522<p>Get the strides for each dimension ordered from largest to smallest where the smallest value is the same as the size of a single element in the tensor. </p>
523<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="classarmnn_1_1_tensor_shape.html">TensorShape</a> filled with the strides for each dimension </dd></dl>
524
525<p>Implements <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a30c3e09ce55369b66469443a4ca5ef03">ITensorHandle</a>.</p>
526
527<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00096">96</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
528<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div>
529<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span> armcomputetensorutils::GetStrides(m_Tensor.info()-&gt;strides_in_bytes());</div>
530<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
531</div><!-- fragment -->
532</div>
533</div>
534<a id="ab9c5e9d2f0654981bdc8fff0ff902d51"></a>
535<h2 class="memtitle"><span class="permalink"><a href="#ab9c5e9d2f0654981bdc8fff0ff902d51">&#9670;&nbsp;</a></span>GetTensor() <span class="overload">[1/2]</span></h2>
536
537<div class="memitem">
538<div class="memproto">
539<table class="mlabels">
540 <tr>
541 <td class="mlabels-left">
542 <table class="memname">
543 <tr>
544 <td class="memname">arm_compute::CLTensor const&amp; GetTensor </td>
545 <td>(</td>
546 <td class="paramname"></td><td>)</td>
547 <td> const</td>
548 </tr>
549 </table>
550 </td>
551 <td class="mlabels-right">
552<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
553 </tr>
554</table>
555</div><div class="memdoc">
556
557<p>Implements <a class="el" href="classarmnn_1_1_i_cl_tensor_handle.html#a5958bbfb7eb593338681060e8026b7b7">IClTensorHandle</a>.</p>
558
559<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00047">47</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
560<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{ <span class="keywordflow">return</span> m_Tensor; }</div>
561</div><!-- fragment -->
562</div>
563</div>
564<a id="aa7d00659f5bca101f9a20b4ac22df577"></a>
565<h2 class="memtitle"><span class="permalink"><a href="#aa7d00659f5bca101f9a20b4ac22df577">&#9670;&nbsp;</a></span>GetTensor() <span class="overload">[2/2]</span></h2>
566
567<div class="memitem">
568<div class="memproto">
569<table class="mlabels">
570 <tr>
571 <td class="mlabels-left">
572 <table class="memname">
573 <tr>
574 <td class="memname">arm_compute::CLTensor&amp; GetTensor </td>
575 <td>(</td>
576 <td class="paramname"></td><td>)</td>
577 <td></td>
578 </tr>
579 </table>
580 </td>
581 <td class="mlabels-right">
582<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
583 </tr>
584</table>
585</div><div class="memdoc">
586
587<p>Implements <a class="el" href="classarmnn_1_1_i_cl_tensor_handle.html#a11512b9ce51a09d07d34334eb4caa5b5">IClTensorHandle</a>.</p>
588
589<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00046">46</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
590<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{ <span class="keywordflow">return</span> m_Tensor; }</div>
591</div><!-- fragment -->
592</div>
593</div>
594<a id="ab74840a06082b2a5693b1ff79706fa26"></a>
595<h2 class="memtitle"><span class="permalink"><a href="#ab74840a06082b2a5693b1ff79706fa26">&#9670;&nbsp;</a></span>Import()</h2>
596
597<div class="memitem">
598<div class="memproto">
599<table class="mlabels">
600 <tr>
601 <td class="mlabels-left">
602 <table class="memname">
603 <tr>
604 <td class="memname">bool Import </td>
605 <td>(</td>
606 <td class="paramtype">void *&#160;</td>
607 <td class="paramname"><em>memory</em>, </td>
608 </tr>
609 <tr>
610 <td class="paramkey"></td>
611 <td></td>
612 <td class="paramtype"><a class="el" href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277">MemorySource</a>&#160;</td>
613 <td class="paramname"><em>source</em>&#160;</td>
614 </tr>
615 <tr>
616 <td></td>
617 <td>)</td>
618 <td></td><td></td>
619 </tr>
620 </table>
621 </td>
622 <td class="mlabels-right">
623<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
624 </tr>
625</table>
626</div><div class="memdoc">
627
628<p>Import externally allocated memory. </p>
629<dl class="params"><dt>Parameters</dt><dd>
630 <table class="params">
631 <tr><td class="paramname">memory</td><td>base address of the memory being imported. </td></tr>
632 <tr><td class="paramname">source</td><td>source of the allocation for the memory being imported. </td></tr>
633 </table>
634 </dd>
635</dl>
636<dl class="section return"><dt>Returns</dt><dd>true on success or false on failure </dd></dl>
637
638<p>Reimplemented from <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a4f81a9eff30c9b9fe76f5b83af470ba7">ITensorHandle</a>.</p>
639
640<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00121">121</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
641<div class="fragment"><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div>
642<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (m_ImportFlags &amp; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a><span class="keyword">&gt;</span>(source))</div>
643<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
644<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">throw</span> MemoryImportException(<span class="stringliteral">&quot;GpuFsaTensorHandle::Incorrect import flag&quot;</span>);</div>
645<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
646<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; m_Imported = <span class="keyword">false</span>;</div>
647<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
648<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
649</div><!-- fragment -->
650</div>
651</div>
652<a id="aca21728cdaa75f9d656d25ae7200ade5"></a>
653<h2 class="memtitle"><span class="permalink"><a href="#aca21728cdaa75f9d656d25ae7200ade5">&#9670;&nbsp;</a></span>Manage()</h2>
654
655<div class="memitem">
656<div class="memproto">
657<table class="mlabels">
658 <tr>
659 <td class="mlabels-left">
660 <table class="memname">
661 <tr>
662 <td class="memname">void Manage </td>
663 <td>(</td>
664 <td class="paramname"></td><td>)</td>
665 <td></td>
666 </tr>
667 </table>
668 </td>
669 <td class="mlabels-right">
670<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
671 </tr>
672</table>
673</div><div class="memdoc">
674
675<p>Indicate to the memory manager that this resource is active. </p>
676<p>This is used to compute overlapping lifetimes of resources. </p>
677
678<p>Implements <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a04149d0f9b9c54c05e95693111490daf">ITensorHandle</a>.</p>
679
680<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00062">62</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
681<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
682<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// If we have enabled Importing, don&#39;t manage the tensor</span></div>
683<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (m_IsImportEnabled)</div>
684<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
685<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">throw</span> MemoryImportException(<span class="stringliteral">&quot;GpuFsaTensorHandle::Attempting to manage memory when importing&quot;</span>);</div>
686<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
687<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">else</span></div>
688<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div>
689<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; assert(m_MemoryGroup != <span class="keyword">nullptr</span>);</div>
690<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; m_MemoryGroup-&gt;manage(&amp;m_Tensor);</div>
691<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
692<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
693</div><!-- fragment -->
694</div>
695</div>
696<a id="a96ffc085ec42d7c333304ab92e09cd60"></a>
697<h2 class="memtitle"><span class="permalink"><a href="#a96ffc085ec42d7c333304ab92e09cd60">&#9670;&nbsp;</a></span>Map()</h2>
698
699<div class="memitem">
700<div class="memproto">
701<table class="mlabels">
702 <tr>
703 <td class="mlabels-left">
704 <table class="memname">
705 <tr>
706 <td class="memname">const void * Map </td>
707 <td>(</td>
708 <td class="paramtype">bool&#160;</td>
709 <td class="paramname"><em>blocking</em> = <code>true</code></td><td>)</td>
710 <td> const</td>
711 </tr>
712 </table>
713 </td>
714 <td class="mlabels-right">
715<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
716 </tr>
717</table>
718</div><div class="memdoc">
719
720<p>Map the tensor data for access. </p>
721<dl class="params"><dt>Parameters</dt><dd>
722 <table class="params">
723 <tr><td class="paramname">blocking</td><td>hint to block the calling thread until all other accesses are complete. (backend dependent) </td></tr>
724 </table>
725 </dd>
726</dl>
727<dl class="section return"><dt>Returns</dt><dd>pointer to the first element of the mapped data. </dd></dl>
728
729<p>Implements <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a9afbc055a017adf1bc38ee137bca6e90">ITensorHandle</a>.</p>
730
731<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00076">76</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
732<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div>
733<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">const_cast&lt;</span>arm_compute::CLTensor*<span class="keyword">&gt;</span>(&amp;m_Tensor)-&gt;map(blocking);</div>
734<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">void</span>*<span class="keyword">&gt;</span>(m_Tensor.buffer() + m_Tensor.info()-&gt;offset_first_element_in_bytes());</div>
735<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
736</div><!-- fragment -->
737</div>
738</div>
739<a id="a9b8adcb578eb6f9ad63c21b1fa43bb14"></a>
740<h2 class="memtitle"><span class="permalink"><a href="#a9b8adcb578eb6f9ad63c21b1fa43bb14">&#9670;&nbsp;</a></span>SetImportEnabledFlag()</h2>
741
742<div class="memitem">
743<div class="memproto">
744<table class="mlabels">
745 <tr>
746 <td class="mlabels-left">
747 <table class="memname">
748 <tr>
749 <td class="memname">void SetImportEnabledFlag </td>
750 <td>(</td>
751 <td class="paramtype">bool&#160;</td>
752 <td class="paramname"><em>importEnabledFlag</em></td><td>)</td>
753 <td></td>
754 </tr>
755 </table>
756 </td>
757 <td class="mlabels-right">
758<span class="mlabels"><span class="mlabel">inline</span></span> </td>
759 </tr>
760</table>
761</div><div class="memdoc">
762
763<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00116">116</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
764<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
765<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; m_IsImportEnabled = importEnabledFlag;</div>
766<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
767</div><!-- fragment -->
768</div>
769</div>
770<a id="acd3ddbebcda4124217925ae36d551441"></a>
771<h2 class="memtitle"><span class="permalink"><a href="#acd3ddbebcda4124217925ae36d551441">&#9670;&nbsp;</a></span>SetImportFlags()</h2>
772
773<div class="memitem">
774<div class="memproto">
775<table class="mlabels">
776 <tr>
777 <td class="mlabels-left">
778 <table class="memname">
779 <tr>
780 <td class="memname">void SetImportFlags </td>
781 <td>(</td>
782 <td class="paramtype"><a class="el" href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">MemorySourceFlags</a>&#160;</td>
783 <td class="paramname"><em>importFlags</em></td><td>)</td>
784 <td></td>
785 </tr>
786 </table>
787 </td>
788 <td class="mlabels-right">
789<span class="mlabels"><span class="mlabel">inline</span></span> </td>
790 </tr>
791</table>
792</div><div class="memdoc">
793
794<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00106">106</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
795<div class="fragment"><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div>
796<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; m_ImportFlags = importFlags;</div>
797<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
798</div><!-- fragment -->
799</div>
800</div>
801<a id="af9c82a4633347a36ad10c8bfab384396"></a>
802<h2 class="memtitle"><span class="permalink"><a href="#af9c82a4633347a36ad10c8bfab384396">&#9670;&nbsp;</a></span>SetMemoryGroup()</h2>
803
804<div class="memitem">
805<div class="memproto">
806<table class="mlabels">
807 <tr>
808 <td class="mlabels-left">
809 <table class="memname">
810 <tr>
811 <td class="memname">virtual void SetMemoryGroup </td>
812 <td>(</td>
813 <td class="paramtype">const std::shared_ptr&lt; arm_compute::IMemoryGroup &gt; &amp;&#160;</td>
814 <td class="paramname"><em>memoryGroup</em></td><td>)</td>
815 <td></td>
816 </tr>
817 </table>
818 </td>
819 <td class="mlabels-right">
820<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
821 </tr>
822</table>
823</div><div class="memdoc">
824
825<p>Implements <a class="el" href="classarmnn_1_1_i_cl_tensor_handle.html#a658c8c0848fa9d1fb2fc6c1422bfe3e8">IClTensorHandle</a>.</p>
826
827<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00091">91</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
828<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
829<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; m_MemoryGroup = PolymorphicPointerDowncast&lt;arm_compute::MemoryGroup&gt;(memoryGroup);</div>
830<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
831</div><!-- fragment -->
832</div>
833</div>
834<a id="a88ab6decf78c152e746b7d8dc2dd931f"></a>
835<h2 class="memtitle"><span class="permalink"><a href="#a88ab6decf78c152e746b7d8dc2dd931f">&#9670;&nbsp;</a></span>Unmap()</h2>
836
837<div class="memitem">
838<div class="memproto">
839<table class="mlabels">
840 <tr>
841 <td class="mlabels-left">
842 <table class="memname">
843 <tr>
844 <td class="memname">virtual void Unmap </td>
845 <td>(</td>
846 <td class="paramname"></td><td>)</td>
847 <td> const</td>
848 </tr>
849 </table>
850 </td>
851 <td class="mlabels-right">
852<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
853 </tr>
854</table>
855</div><div class="memdoc">
856
857<p>Unmap the tensor data. </p>
858
859<p>Implements <a class="el" href="classarmnn_1_1_i_tensor_handle.html#a563609828050f1b3a7868c23f3365923">ITensorHandle</a>.</p>
860
861<p class="definition">Definition at line <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html#l00082">82</a> of file <a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a>.</p>
862<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{ <span class="keyword">const_cast&lt;</span>arm_compute::CLTensor*<span class="keyword">&gt;</span>(&amp;m_Tensor)-&gt;unmap(); }</div>
863</div><!-- fragment -->
864</div>
865</div>
866<hr/>The documentation for this class was generated from the following files:<ul>
867<li>src/backends/gpuFsa/<a class="el" href="_gpu_fsa_tensor_handle_8hpp_source.html">GpuFsaTensorHandle.hpp</a></li>
868<li>src/backends/gpuFsa/<a class="el" href="_gpu_fsa_tensor_handle_8cpp_source.html">GpuFsaTensorHandle.cpp</a></li>
869</ul>
870</div><!-- contents -->
871</div><!-- doc-content -->
872<div class="ttc" id="anamespacearmnn_html_a5b05f3b7208ec7cea3338e30057c0bac"><div class="ttname"><a href="namespacearmnn.html#a5b05f3b7208ec7cea3338e30057c0bac">armnn::MemorySourceFlags</a></div><div class="ttdeci">unsigned int MemorySourceFlags</div><div class="ttdef"><b>Definition:</b> <a href="_memory_sources_8hpp_source.html#l00015">MemorySources.hpp:15</a></div></div>
873<div class="ttc" id="anamespacearmnn_html_a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360"><div class="ttname"><a href="namespacearmnn.html#a14fcd7f88d11cea0a018269dca5f9277aec0fc0100c4fc1ce4eea230c3dc10360">armnn::MemorySource::Undefined</a></div><div class="ttdeci">@ Undefined</div></div>
874<!-- start footer part -->
875<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
876 <ul>
877 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_gpu_fsa_tensor_handle.html">GpuFsaTensorHandle</a></li>
878 <li class="footer">Generated on Thu May 16 2024 09:31:56 for Arm NN by
879 <a href="http://www.doxygen.org/index.html">
880 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
881 </ul>
882</div>
883</body>
884</html>