blob: d8e3fda415c24194a417ee6dd427c3716a6eae10 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: src/core/CL/CLHelpers.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
<td style="padding-left: 0.5em;">
<div id="projectname">
&#160;<span id="projectnumber">20.02.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('core_2_c_l_2_c_l_helpers_8cpp.xhtml','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">CLHelpers.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="core_2_c_l_2_c_l_helpers_8h_source.xhtml">arm_compute/core/CL/CLHelpers.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_c_l_core_runtime_context_8h_source.xhtml">arm_compute/core/CL/CLCoreRuntimeContext.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_c_l_kernel_library_8h_source.xhtml">arm_compute/core/CL/CLKernelLibrary.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_c_l_types_8h_source.xhtml">arm_compute/core/CL/CLTypes.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_error_8h_source.xhtml">arm_compute/core/Error.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_log_8h_source.xhtml">arm_compute/core/Log.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="arm__compute_2core_2_types_8h_source.xhtml">arm_compute/core/Types.h</a>&quot;</code><br />
<code>#include &lt;utility&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div>
<p><a href="core_2_c_l_2_c_l_helpers_8cpp_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacearm__compute"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></td></tr>
<tr class="memdesc:namespacearm__compute"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copyright (c) 2017-2020 ARM Limited. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a545eeda2eaa3f5a54345ce8169e21184"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">get_cl_type_from_data_type</a> (const DataType &amp;dt)</td></tr>
<tr class="memdesc:a545eeda2eaa3f5a54345ce8169e21184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL type. <a href="namespacearm__compute.xhtml#a545eeda2eaa3f5a54345ce8169e21184">More...</a><br /></td></tr>
<tr class="separator:a545eeda2eaa3f5a54345ce8169e21184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad090aabdbbec665e3704af55ba7bd563"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ad090aabdbbec665e3704af55ba7bd563">get_cl_promoted_type_from_data_type</a> (const DataType &amp;dt)</td></tr>
<tr class="memdesc:ad090aabdbbec665e3704af55ba7bd563"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL promoted type. <a href="namespacearm__compute.xhtml#ad090aabdbbec665e3704af55ba7bd563">More...</a><br /></td></tr>
<tr class="separator:ad090aabdbbec665e3704af55ba7bd563"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a237044b76803b058edd1b23d599bcc6d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a237044b76803b058edd1b23d599bcc6d">get_cl_unsigned_type_from_element_size</a> (size_t element_size)</td></tr>
<tr class="memdesc:a237044b76803b058edd1b23d599bcc6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates the element size to an unsigned integer data type. <a href="namespacearm__compute.xhtml#a237044b76803b058edd1b23d599bcc6d">More...</a><br /></td></tr>
<tr class="separator:a237044b76803b058edd1b23d599bcc6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18e791fbf74924fee2ddf8da7790bacf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a18e791fbf74924fee2ddf8da7790bacf">get_cl_signed_type_from_element_size</a> (size_t element_size)</td></tr>
<tr class="memdesc:a18e791fbf74924fee2ddf8da7790bacf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates the element size to an signed integer data type. <a href="namespacearm__compute.xhtml#a18e791fbf74924fee2ddf8da7790bacf">More...</a><br /></td></tr>
<tr class="separator:a18e791fbf74924fee2ddf8da7790bacf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d221fbff7bff840ef4d3fdc701cf53"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a70d221fbff7bff840ef4d3fdc701cf53">get_cl_select_type_from_data_type</a> (const DataType &amp;dt)</td></tr>
<tr class="memdesc:a70d221fbff7bff840ef4d3fdc701cf53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL select type. <a href="namespacearm__compute.xhtml#a70d221fbff7bff840ef4d3fdc701cf53">More...</a><br /></td></tr>
<tr class="separator:a70d221fbff7bff840ef4d3fdc701cf53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade3539162ad0f550f626939e8b67ccfd"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ade3539162ad0f550f626939e8b67ccfd">get_cl_dot8_acc_type_from_data_type</a> (const DataType &amp;dt)</td></tr>
<tr class="memdesc:ade3539162ad0f550f626939e8b67ccfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates a tensor data type to the appropriate OpenCL dot8 accumulator type. <a href="namespacearm__compute.xhtml#ade3539162ad0f550f626939e8b67ccfd">More...</a><br /></td></tr>
<tr class="separator:ade3539162ad0f550f626939e8b67ccfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab631f49c436b1f18beff3248c4b1a19e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ab631f49c436b1f18beff3248c4b1a19e">get_data_size_from_data_type</a> (const DataType &amp;dt)</td></tr>
<tr class="memdesc:ab631f49c436b1f18beff3248c4b1a19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of a data type in number of bits. <a href="namespacearm__compute.xhtml#ab631f49c436b1f18beff3248c4b1a19e">More...</a><br /></td></tr>
<tr class="separator:ab631f49c436b1f18beff3248c4b1a19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ed41c417478e5b1e346de1899137b1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#aa9ed41c417478e5b1e346de1899137b1">get_underlying_cl_type_from_data_type</a> (const DataType &amp;dt)</td></tr>
<tr class="memdesc:aa9ed41c417478e5b1e346de1899137b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates fixed point tensor data type to the underlying OpenCL type. <a href="namespacearm__compute.xhtml#aa9ed41c417478e5b1e346de1899137b1">More...</a><br /></td></tr>
<tr class="separator:aa9ed41c417478e5b1e346de1899137b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a281384aa081efe5819eedd6a7c2a429b"><td class="memItemLeft" align="right" valign="top">GPUTarget&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a281384aa081efe5819eedd6a7c2a429b">get_target_from_device</a> (const cl::Device &amp;device)</td></tr>
<tr class="memdesc:a281384aa081efe5819eedd6a7c2a429b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the GPU target from CL device. <a href="namespacearm__compute.xhtml#a281384aa081efe5819eedd6a7c2a429b">More...</a><br /></td></tr>
<tr class="separator:a281384aa081efe5819eedd6a7c2a429b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0019d1de2500c73f16b673d8a883a767"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0019d1de2500c73f16b673d8a883a767">arm_non_uniform_workgroup_supported</a> (const cl::Device &amp;device)</td></tr>
<tr class="memdesc:a0019d1de2500c73f16b673d8a883a767"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the arm_non_uniform_work_group_size extension is supported. <a href="namespacearm__compute.xhtml#a0019d1de2500c73f16b673d8a883a767">More...</a><br /></td></tr>
<tr class="separator:a0019d1de2500c73f16b673d8a883a767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ad3c9492d4158b574a89ab798d74e16"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a2ad3c9492d4158b574a89ab798d74e16">fp16_supported</a> (const cl::Device &amp;device)</td></tr>
<tr class="memdesc:a2ad3c9492d4158b574a89ab798d74e16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_khr_fp16 extension is supported. <a href="namespacearm__compute.xhtml#a2ad3c9492d4158b574a89ab798d74e16">More...</a><br /></td></tr>
<tr class="separator:a2ad3c9492d4158b574a89ab798d74e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac07e02c0066cf540a5a2665fa7d54934"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ac07e02c0066cf540a5a2665fa7d54934">dot8_supported</a> (const cl::Device &amp;device)</td></tr>
<tr class="memdesc:ac07e02c0066cf540a5a2665fa7d54934"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_arm_integer_dot_product_int8 extension is supported. <a href="namespacearm__compute.xhtml#ac07e02c0066cf540a5a2665fa7d54934">More...</a><br /></td></tr>
<tr class="separator:ac07e02c0066cf540a5a2665fa7d54934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4878daab91c6d7173de20283766e0c2c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a4878daab91c6d7173de20283766e0c2c">dot8_acc_supported</a> (const cl::Device &amp;device)</td></tr>
<tr class="memdesc:a4878daab91c6d7173de20283766e0c2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether the cl_arm_integer_dot_product_accumulate_int8 extension is supported. <a href="namespacearm__compute.xhtml#a4878daab91c6d7173de20283766e0c2c">More...</a><br /></td></tr>
<tr class="separator:a4878daab91c6d7173de20283766e0c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e62ce01a7a7af6c3d059bb8534cad45"><td class="memItemLeft" align="right" valign="top">CLVersion&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0e62ce01a7a7af6c3d059bb8534cad45">get_cl_version</a> (const cl::Device &amp;device)</td></tr>
<tr class="memdesc:a0e62ce01a7a7af6c3d059bb8534cad45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the highest OpenCL version supported. <a href="namespacearm__compute.xhtml#a0e62ce01a7a7af6c3d059bb8534cad45">More...</a><br /></td></tr>
<tr class="separator:a0e62ce01a7a7af6c3d059bb8534cad45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c4a5ca34ebb51d4e2e119a110e4c8f0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">device_supports_extension</a> (const cl::Device &amp;device, const char *extension_name)</td></tr>
<tr class="memdesc:a6c4a5ca34ebb51d4e2e119a110e4c8f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check whether a given extension is supported. <a href="namespacearm__compute.xhtml#a6c4a5ca34ebb51d4e2e119a110e4c8f0">More...</a><br /></td></tr>
<tr class="separator:a6c4a5ca34ebb51d4e2e119a110e4c8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a7f5aff064f09dd7f355aaaf7641bf7d3">cl_winograd_convolution_layer_supported</a> (const Size2D &amp;output_tile, const Size2D &amp;kernel_size, DataLayout data_layout)</td></tr>
<tr class="memdesc:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if the Winograd configuration (defined through the output tile, kernel size and the data layout) is supported on OpenCL. <a href="namespacearm__compute.xhtml#a7f5aff064f09dd7f355aaaf7641bf7d3">More...</a><br /></td></tr>
<tr class="separator:a7f5aff064f09dd7f355aaaf7641bf7d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bd532ddb5d86290e40c0b482eb476f2"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a1bd532ddb5d86290e40c0b482eb476f2">preferred_vector_width</a> (const cl::Device &amp;device, DataType dt)</td></tr>
<tr class="memdesc:a1bd532ddb5d86290e40c0b482eb476f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to get the preferred native vector width size for built-in scalar types that can be put into vectors. <a href="namespacearm__compute.xhtml#a1bd532ddb5d86290e40c0b482eb476f2">More...</a><br /></td></tr>
<tr class="separator:a1bd532ddb5d86290e40c0b482eb476f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c0eeab3eb098f019ae72268636dcc59"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a0c0eeab3eb098f019ae72268636dcc59">preferred_dummy_work_items_support</a> (const cl::Device &amp;device)</td></tr>
<tr class="memdesc:a0c0eeab3eb098f019ae72268636dcc59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to check if "dummy work-items" are preferred to have a power of two NDRange In case dummy work-items is enabled, it is OpenCL kernel responsibility to check if the work-item is out-of range or not. <a href="namespacearm__compute.xhtml#a0c0eeab3eb098f019ae72268636dcc59">More...</a><br /></td></tr>
<tr class="separator:a0c0eeab3eb098f019ae72268636dcc59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada43831ccb18a13573b5aa39ee06fbb6"><td class="memItemLeft" align="right" valign="top">cl::Kernel&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#ada43831ccb18a13573b5aa39ee06fbb6">create_opencl_kernel</a> (CLCoreRuntimeContext *ctx, const std::string &amp;<a class="el" href="_c_l_im2_col_kernel_8cpp.xhtml#a624a24e6d361fe7b8b8b2f6b375683a4">kernel_name</a>, const CLBuildOptions &amp;build_opts)</td></tr>
<tr class="memdesc:ada43831ccb18a13573b5aa39ee06fbb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an opencl kernel. <a href="namespacearm__compute.xhtml#ada43831ccb18a13573b5aa39ee06fbb6">More...</a><br /></td></tr>
<tr class="separator:ada43831ccb18a13573b5aa39ee06fbb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6832cb1809aaf22a65b2eca70f135230"><td class="memItemLeft" align="right" valign="top">cl::NDRange&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml#a6832cb1809aaf22a65b2eca70f135230">create_lws_hint_parallel_implementations</a> (unsigned int input_dimension, unsigned int vector_size)</td></tr>
<tr class="memdesc:a6832cb1809aaf22a65b2eca70f135230"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a suitable LWS hint object for parallel implementations. <a href="namespacearm__compute.xhtml#a6832cb1809aaf22a65b2eca70f135230">More...</a><br /></td></tr>
<tr class="separator:a6832cb1809aaf22a65b2eca70f135230"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_aebb8dcc11953d78e620bbef0b9e2183.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_8c278f79c760e5c5fbd911f9870614c1.xhtml">CL</a></li><li class="navelem"><a class="el" href="core_2_c_l_2_c_l_helpers_8cpp.xhtml">CLHelpers.cpp</a></li>
<li class="footer">Generated on Thu Mar 5 2020 16:07:07 for Compute Library by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>
</div>
</body>
</html>