| <!-- 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: GemmTuner Namespace 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&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"> |
|  <span id="projectnumber">19.11</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&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&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&dn=gpl-2.0.txt GPL-v2 */ |
| $(document).ready(function(){initNavTree('namespace_gemm_tuner.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="#nested-classes">Data Structures</a> | |
| <a href="#func-members">Functions</a> | |
| <a href="#var-members">Variables</a> </div> |
| <div class="headertitle"> |
| <div class="title">GemmTuner Namespace Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> |
| Data Structures</h2></td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_benchmark_result.xhtml">BenchmarkResult</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_g_e_m_m_benchmark_result_recorder.xhtml">GEMMBenchmarkResultRecorder</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_g_e_m_m_config_distribution.xhtml">GEMMConfigDistribution</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_g_e_m_m_param.xhtml">GEMMParam</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_measurement.xhtml">Measurement</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_native_g_e_m_m_config.xhtml">NativeGEMMConfig</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_reshaped_g_e_m_m_config.xhtml">ReshapedGEMMConfig</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_gemm_tuner_1_1_reshaped_only_r_h_s_g_e_m_m_config.xhtml">ReshapedOnlyRHSGEMMConfig</a></td></tr> |
| <tr class="separator:"><td class="memSeparator" colspan="2"> </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:a38da4cefc89939b02e38ec9027a110b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_gemm_tuner.xhtml#a547e317a8765ca62ed005b0bf03fec15">BenchmarkResultCSVRow</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a38da4cefc89939b02e38ec9027a110b2">benchmark_result_2_csv_row</a> (<a class="el" href="class_gemm_tuner_1_1_benchmark_result.xhtml">BenchmarkResult</a> result)</td></tr> |
| <tr class="separator:a38da4cefc89939b02e38ec9027a110b2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae93eefdf5d69cd7bbd361324c613dff3"><td class="memItemLeft" align="right" valign="top">Dict[str, str] </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#ae93eefdf5d69cd7bbd361324c613dff3">parse_benchmark_commandline</a> (str commandline)</td></tr> |
| <tr class="memdesc:ae93eefdf5d69cd7bbd361324c613dff3"><td class="mdescLeft"> </td><td class="mdescRight">Functions. <a href="#ae93eefdf5d69cd7bbd361324c613dff3">More...</a><br /></td></tr> |
| <tr class="separator:ae93eefdf5d69cd7bbd361324c613dff3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a635fc68bfeadd9692faead4d667a90a9"><td class="memItemLeft" align="right" valign="top">Generator[<a class="el" href="class_gemm_tuner_1_1_benchmark_result.xhtml">BenchmarkResult</a>, None, None] </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a635fc68bfeadd9692faead4d667a90a9">extract_benchmark_results</a> (Dict json_results, measurement_method="avg")</td></tr> |
| <tr class="separator:a635fc68bfeadd9692faead4d667a90a9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab9bf6647cc58e534561aa91a422229e4"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#ab9bf6647cc58e534561aa91a422229e4">parse_json</a> (dir_name)</td></tr> |
| <tr class="separator:ab9bf6647cc58e534561aa91a422229e4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2b19960927373ea2b5afd6a4ccb654ac"><td class="memItemLeft" align="right" valign="top">def </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a2b19960927373ea2b5afd6a4ccb654ac">main</a> (<a class="el" href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">args</a>)</td></tr> |
| <tr class="memdesc:a2b19960927373ea2b5afd6a4ccb654ac"><td class="mdescLeft"> </td><td class="mdescRight">Main. <a href="#a2b19960927373ea2b5afd6a4ccb654ac">More...</a><br /></td></tr> |
| <tr class="separator:a2b19960927373ea2b5afd6a4ccb654ac"><td class="memSeparator" colspan="2"> </td></tr> |
| </table><table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> |
| Variables</h2></td></tr> |
| <tr class="memitem:acf7192c608527efb8f8dedf0a3f2e706"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#acf7192c608527efb8f8dedf0a3f2e706">Strategy</a> = Enum("Strategy", ["Native", "ReshapedOnlyRHS", "Reshaped"])</td></tr> |
| <tr class="memdesc:acf7192c608527efb8f8dedf0a3f2e706"><td class="mdescLeft"> </td><td class="mdescRight">Types. <a href="#acf7192c608527efb8f8dedf0a3f2e706">More...</a><br /></td></tr> |
| <tr class="separator:acf7192c608527efb8f8dedf0a3f2e706"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a696b6940cef01d03e1fc064d8be3727b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a696b6940cef01d03e1fc064d8be3727b">GEMMConfigT</a> = Union[<a class="el" href="class_gemm_tuner_1_1_native_g_e_m_m_config.xhtml">NativeGEMMConfig</a>, <a class="el" href="class_gemm_tuner_1_1_reshaped_only_r_h_s_g_e_m_m_config.xhtml">ReshapedOnlyRHSGEMMConfig</a>, <a class="el" href="class_gemm_tuner_1_1_reshaped_g_e_m_m_config.xhtml">ReshapedGEMMConfig</a>]</td></tr> |
| <tr class="separator:a696b6940cef01d03e1fc064d8be3727b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a547e317a8765ca62ed005b0bf03fec15"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a547e317a8765ca62ed005b0bf03fec15">BenchmarkResultCSVRow</a></td></tr> |
| <tr class="separator:a547e317a8765ca62ed005b0bf03fec15"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3c0f164b66e196f940f4b9e206d586d5"><td class="memItemLeft" align="right" valign="top">dictionary </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a3c0f164b66e196f940f4b9e206d586d5">GEMM_CONFIG_FACTORY</a></td></tr> |
| <tr class="separator:a3c0f164b66e196f940f4b9e206d586d5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae8424a0c14384f40c0a9c89289e90262"><td class="memItemLeft" align="right" valign="top">dictionary </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#ae8424a0c14384f40c0a9c89289e90262">EXAMPLE_FILE_2_STRATEGY</a></td></tr> |
| <tr class="separator:ae8424a0c14384f40c0a9c89289e90262"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:abfd6c8b5e818f3a2a5dac6717b853018"><td class="memItemLeft" align="right" valign="top">dictionary </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#abfd6c8b5e818f3a2a5dac6717b853018">GEMM_EXAMPLE_ARGS_FACTORY</a></td></tr> |
| <tr class="separator:abfd6c8b5e818f3a2a5dac6717b853018"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2f8b815490a02d3feccad7c5472ba4e2"><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a2f8b815490a02d3feccad7c5472ba4e2">BENCHMARK_RESULT_JSON_EXTENSION</a> = "gemmtuner_benchmark"</td></tr> |
| <tr class="separator:a2f8b815490a02d3feccad7c5472ba4e2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a90eee7a4677ca8b1ed116364a24367f9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a90eee7a4677ca8b1ed116364a24367f9">parser</a> = argparse.ArgumentParser(description="CL GEMM Tuner")</td></tr> |
| <tr class="separator:a90eee7a4677ca8b1ed116364a24367f9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab0bede79c5f4cbed9c2cd932a0ace201"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#ab0bede79c5f4cbed9c2cd932a0ace201">dest</a></td></tr> |
| <tr class="separator:ab0bede79c5f4cbed9c2cd932a0ace201"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6d8a64ff78fc562acbd80da81ed531b2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a6d8a64ff78fc562acbd80da81ed531b2">metavar</a></td></tr> |
| <tr class="separator:a6d8a64ff78fc562acbd80da81ed531b2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a2f4ab7bf743142dae2e459aa18f9f1d4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a2f4ab7bf743142dae2e459aa18f9f1d4">action</a></td></tr> |
| <tr class="separator:a2f4ab7bf743142dae2e459aa18f9f1d4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7aead736a07eaf25623ad7bfa1f0ee2d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a7aead736a07eaf25623ad7bfa1f0ee2d">type</a></td></tr> |
| <tr class="separator:a7aead736a07eaf25623ad7bfa1f0ee2d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a81ae9faedaa69e3e28e2960a0548df8d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a81ae9faedaa69e3e28e2960a0548df8d">help</a></td></tr> |
| <tr class="separator:a81ae9faedaa69e3e28e2960a0548df8d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ae81948490ddf54e80a22593640178350"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#ae81948490ddf54e80a22593640178350">required</a></td></tr> |
| <tr class="separator:ae81948490ddf54e80a22593640178350"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:affb1327b18bf08a379d19eef89cf1ed1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#affb1327b18bf08a379d19eef89cf1ed1">default</a></td></tr> |
| <tr class="separator:affb1327b18bf08a379d19eef89cf1ed1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a8187411843a6284ffb964ef3fb9fcab3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a8187411843a6284ffb964ef3fb9fcab3">args</a> = parser.parse_args()</td></tr> |
| <tr class="separator:a8187411843a6284ffb964ef3fb9fcab3"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a05b240734aa0ab5756d163cc6b03d6e1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#a05b240734aa0ab5756d163cc6b03d6e1">logging_level</a> = logging.DEBUG if args.debug else logging.INFO</td></tr> |
| <tr class="separator:a05b240734aa0ab5756d163cc6b03d6e1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:afde8e18a788ccc92fc61cab298bca7e3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_gemm_tuner.xhtml#afde8e18a788ccc92fc61cab298bca7e3">level</a></td></tr> |
| <tr class="separator:afde8e18a788ccc92fc61cab298bca7e3"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <h2 class="groupheader">Function Documentation</h2> |
| <a id="a38da4cefc89939b02e38ec9027a110b2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a38da4cefc89939b02e38ec9027a110b2">◆ </a></span>benchmark_result_2_csv_row()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"> <a class="el" href="namespace_gemm_tuner.xhtml#a547e317a8765ca62ed005b0bf03fec15">BenchmarkResultCSVRow</a> GemmTuner.benchmark_result_2_csv_row </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="class_gemm_tuner_1_1_benchmark_result.xhtml">BenchmarkResult</a> </td> |
| <td class="paramname"><em>result</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <pre class="fragment">Convert a BenchmarkResult into its CSV row form </pre> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00168">168</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| <div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">def </span><a class="code" href="namespace_gemm_tuner.xhtml#a38da4cefc89939b02e38ec9027a110b2">benchmark_result_2_csv_row</a>(result: BenchmarkResult) -> BenchmarkResultCSVRow:</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="stringliteral">""" Convert a BenchmarkResult into its CSV row form """</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> <a class="code" href="namespace_gemm_tuner.xhtml#a547e317a8765ca62ed005b0bf03fec15">BenchmarkResultCSVRow</a>(</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  *(result.gemm_param + (result.strategy.name, str(result.gemm_config)) + result.measurement)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  )</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="ttc" id="namespace_gemm_tuner_xhtml_a38da4cefc89939b02e38ec9027a110b2"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a38da4cefc89939b02e38ec9027a110b2">GemmTuner.benchmark_result_2_csv_row</a></div><div class="ttdeci">BenchmarkResultCSVRow benchmark_result_2_csv_row(BenchmarkResult result)</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00168">GemmTuner.py:168</a></div></div> |
| <div class="ttc" id="namespace_gemm_tuner_xhtml_a547e317a8765ca62ed005b0bf03fec15"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a547e317a8765ca62ed005b0bf03fec15">GemmTuner.BenchmarkResultCSVRow</a></div><div class="ttdeci">BenchmarkResultCSVRow</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00163">GemmTuner.py:163</a></div></div> |
| </div><!-- fragment --> |
| <p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00163">BenchmarkResultCSVRow</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_gemm_tuner_8py_source.xhtml#l00247">GEMMBenchmarkResultRecorder.save_to_csvs()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a635fc68bfeadd9692faead4d667a90a9"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a635fc68bfeadd9692faead4d667a90a9">◆ </a></span>extract_benchmark_results()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"> Generator[<a class="el" href="class_gemm_tuner_1_1_benchmark_result.xhtml">BenchmarkResult</a>, None, None] GemmTuner.extract_benchmark_results </td> |
| <td>(</td> |
| <td class="paramtype">Dict </td> |
| <td class="paramname"><em>json_results</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"> </td> |
| <td class="paramname"><em>measurement_method</em> = <code>"avg"</code> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <pre class="fragment">Parse the benchmark result and extract relevant information, namely: |
| GEMM param, |
| Strategy, |
| GEMM config, |
| Measurements |
| </pre> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00417">417</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| <div class="fragment"><div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">def </span><a class="code" href="namespace_gemm_tuner.xhtml#a635fc68bfeadd9692faead4d667a90a9">extract_benchmark_results</a>(</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  json_results: Dict, measurement_method=<span class="stringliteral">"avg"</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> ) -> Generator[BenchmarkResult, <span class="keywordtype">None</span>, <span class="keywordtype">None</span>]:</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="stringliteral">""" Parse the benchmark result and extract relevant information, namely:</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="stringliteral"> GEMM param,</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="stringliteral"> Strategy,</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="stringliteral"> GEMM config,</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="stringliteral"> Measurements</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">for</span> json_res <span class="keywordflow">in</span> json_results:</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="comment"># Get example test and test data.</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="comment"># There should only be 1 test per run</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  example_tests = list(json_res[<span class="stringliteral">"tests"</span>].items())</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keyword">assert</span> len(example_tests) == 1</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  example_fn, example_test_data = example_tests[0]</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="comment"># Process example file name</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  example_fn = example_fn.split(os.path.sep)[-1]</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="comment"># Get strategy</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  strategy = EXAMPLE_FILE_2_STRATEGY[example_fn]</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span> </div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="comment"># Get gemm params + gemm configs from example args</span></div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  benchmark_args = <a class="code" href="namespace_gemm_tuner.xhtml#ae93eefdf5d69cd7bbd361324c613dff3">parse_benchmark_commandline</a>(json_res[<span class="stringliteral">"CommandLine"</span>])</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  Gemm_Example_Args_T = GEMM_EXAMPLE_ARGS_FACTORY[strategy]</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  example_args = Gemm_Example_Args_T(*(benchmark_args[<span class="stringliteral">"example_args"</span>].split(<span class="stringliteral">","</span>)))</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="comment"># Gemm_Example_Arg consists of GEMMParam first and then GEMMConfig (in that order)</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  gemm_param_fields_len = len(GEMMParam._fields)</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  gemm_param = GEMMParam.parse_from_strs(*example_args[:gemm_param_fields_len])</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  GEMMConfig = GEMM_CONFIG_FACTORY[strategy]</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  gemm_config = GEMMConfig.parse_from_strs(*example_args[gemm_param_fields_len:])</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="comment"># Get OpenCL_Time_Ms stats</span></div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  measurements = list(example_test_data[<span class="stringliteral">"measurements"</span>].items())</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="comment"># There should only be 1 instrument per run</span></div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">assert</span> len(measurements) == 1</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  measurement_instrument, data = measurements.pop()</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="comment"># Get instrument name and assert that it is the one we expect</span></div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  measurement_instrument_name = measurement_instrument.split(<span class="stringliteral">"/"</span>)[0]</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keyword">assert</span> measurement_instrument_name == <span class="stringliteral">"OpenCLTimer"</span></div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="comment"># Take either the minimum or the average of the raw data as the measurement value</span></div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">if</span> measurement_method == <span class="stringliteral">"min"</span>:</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  measurement_val = min(data[<span class="stringliteral">"raw"</span>])</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">elif</span> measurement_method == <span class="stringliteral">"avg"</span>:</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  measurement_val = <a class="code" href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a>(data[<span class="stringliteral">"raw"</span>]) / len(data[<span class="stringliteral">"raw"</span>])</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">raise</span> ValueError(<span class="stringliteral">"Invalid measurement method: {}"</span>.format(measurement_method))</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  measurement = Measurement(measurement_val)</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">yield</span> BenchmarkResult(gemm_param, strategy, gemm_config, measurement)</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div><div class="ttc" id="reduction__operation_8cl_xhtml_ab0df00f5333da51860deb93deb44a782"><div class="ttname"><a href="reduction__operation_8cl.xhtml#ab0df00f5333da51860deb93deb44a782">sum</a></div><div class="ttdeci">DATA_TYPE sum(__global const DATA_TYPE *input)</div><div class="ttdoc">Calculate sum of a vector.</div><div class="ttdef"><b>Definition:</b> <a href="reduction__operation_8cl_source.xhtml#l00065">reduction_operation.cl:65</a></div></div> |
| <div class="ttc" id="namespace_gemm_tuner_xhtml_ae93eefdf5d69cd7bbd361324c613dff3"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#ae93eefdf5d69cd7bbd361324c613dff3">GemmTuner.parse_benchmark_commandline</a></div><div class="ttdeci">Dict[str, str] parse_benchmark_commandline(str commandline)</div><div class="ttdoc">Functions.</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00400">GemmTuner.py:400</a></div></div> |
| <div class="ttc" id="namespace_gemm_tuner_xhtml_a635fc68bfeadd9692faead4d667a90a9"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a635fc68bfeadd9692faead4d667a90a9">GemmTuner.extract_benchmark_results</a></div><div class="ttdeci">Generator[BenchmarkResult, None, None] extract_benchmark_results(Dict json_results, measurement_method="avg")</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00417">GemmTuner.py:417</a></div></div> |
| </div><!-- fragment --> |
| <p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00400">parse_benchmark_commandline()</a>, and <a class="el" href="reduction__operation_8cl_source.xhtml#l00065">sum()</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_gemm_tuner_8py_source.xhtml#l00483">main()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a2b19960927373ea2b5afd6a4ccb654ac"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2b19960927373ea2b5afd6a4ccb654ac">◆ </a></span>main()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">def GemmTuner.main </td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname"><em>args</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Main. </p> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00483">483</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| <div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="keyword">def </span><a class="code" href="namespace_gemm_tuner.xhtml#a2b19960927373ea2b5afd6a4ccb654ac">main</a>(args):</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  logging.info(<span class="stringliteral">"Searching best gemm configurations from {}"</span>.format(args.benchmark_results_dir))</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  benchmark_results = <a class="code" href="namespace_gemm_tuner.xhtml#a635fc68bfeadd9692faead4d667a90a9">extract_benchmark_results</a>(<a class="code" href="namespace_gemm_tuner.xhtml#ab9bf6647cc58e534561aa91a422229e4">parse_json</a>(args.benchmark_results_dir))</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="comment"># Add all benchmark results to the recorder</span></div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  benchmark_result_recorder = GEMMBenchmarkResultRecorder(tol=args.tolerance)</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">for</span> benchmark_result <span class="keywordflow">in</span> benchmark_results:</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  benchmark_result_recorder.add(benchmark_result)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">if</span> args.debug:</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  recorder_sum_level = GEMMBenchmarkResultRecorder.SummaryLevel.Detailed</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">else</span>:</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  recorder_sum_level = GEMMBenchmarkResultRecorder.SummaryLevel.Short</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="comment"># Print overall summary of the recorded results</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  logging.info(benchmark_result_recorder.summary(sum_level=recorder_sum_level))</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="comment"># Get GEMM configuration distributions for each strategy</span></div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  all_config_dists = benchmark_result_recorder.get_config_distributions()</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  logging.info(<span class="stringliteral">"=== Result ==="</span>)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">for</span> strategy, config_dist <span class="keywordflow">in</span> all_config_dists.items():</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  logging.info(<span class="stringliteral">"Strategy: {}"</span>.format(strategy.name))</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  logging.debug(<span class="stringliteral">"GEMM Config, Votes"</span>)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">for</span> config, freq <span class="keywordflow">in</span> config_dist.frequency():</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  logging.debug(<span class="stringliteral">"{}, {}"</span>.format(config, freq))</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  logging.info(</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="stringliteral">"Best GEMM Config: {} with std: {}"</span>.format(config_dist.best_config(), config_dist.std())</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  )</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="comment"># Save the recorded results to csv files in output directory</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">if</span> args.output_dir <span class="keywordflow">is</span> <span class="keywordflow">not</span> <span class="keywordtype">None</span>:</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  benchmark_result_recorder.save_to_csvs(args.output_dir, only_best_config=(<span class="keywordflow">not</span> args.debug))</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div><div class="ttc" id="namespace_gemm_tuner_xhtml_ab9bf6647cc58e534561aa91a422229e4"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#ab9bf6647cc58e534561aa91a422229e4">GemmTuner.parse_json</a></div><div class="ttdeci">def parse_json(dir_name)</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00470">GemmTuner.py:470</a></div></div> |
| <div class="ttc" id="namespace_gemm_tuner_xhtml_a635fc68bfeadd9692faead4d667a90a9"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a635fc68bfeadd9692faead4d667a90a9">GemmTuner.extract_benchmark_results</a></div><div class="ttdeci">Generator[BenchmarkResult, None, None] extract_benchmark_results(Dict json_results, measurement_method="avg")</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00417">GemmTuner.py:417</a></div></div> |
| <div class="ttc" id="namespace_gemm_tuner_xhtml_a2b19960927373ea2b5afd6a4ccb654ac"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#a2b19960927373ea2b5afd6a4ccb654ac">GemmTuner.main</a></div><div class="ttdeci">def main(args)</div><div class="ttdoc">Main.</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00483">GemmTuner.py:483</a></div></div> |
| </div><!-- fragment --> |
| <p class="reference">References <a class="el" href="_gemm_tuner_8py_source.xhtml#l00417">extract_benchmark_results()</a>, and <a class="el" href="_gemm_tuner_8py_source.xhtml#l00470">parse_json()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ae93eefdf5d69cd7bbd361324c613dff3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae93eefdf5d69cd7bbd361324c613dff3">◆ </a></span>parse_benchmark_commandline()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname"> Dict[str, str] GemmTuner.parse_benchmark_commandline </td> |
| <td>(</td> |
| <td class="paramtype">str </td> |
| <td class="paramname"><em>commandline</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Functions. </p> |
| <pre class="fragment">Parse the benchmark example command-line string into a dictionary of command-line agruments |
| </pre> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00400">400</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| <div class="fragment"><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keyword">def </span><a class="code" href="namespace_gemm_tuner.xhtml#ae93eefdf5d69cd7bbd361324c613dff3">parse_benchmark_commandline</a>(commandline: str) -> Dict[str, str]:</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="stringliteral">""" Parse the benchmark example command-line string into a dictionary of command-line agruments</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  args = commandline.split()</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="comment"># Discard program name</span></div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  args = args[1:]</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="comment"># Split into a list of (argument name, argument value)</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  args = <a class="code" href="namespacearm__compute_1_1utils.xhtml#a9c3303817ba653b5d1e78efb88d02bcf">map</a>(<span class="keyword">lambda</span> arg: arg.split(<span class="stringliteral">"="</span>), args)</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keyword">def </span>transform(_name):</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="comment"># Strip '-'/"--" if it exists</span></div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  _name = _name.lstrip(<span class="stringliteral">"-"</span>)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">return</span> _name</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> {transform(name): val <span class="keywordflow">for</span> name, val <span class="keywordflow">in</span> args}</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div><div class="ttc" id="namespace_gemm_tuner_xhtml_ae93eefdf5d69cd7bbd361324c613dff3"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#ae93eefdf5d69cd7bbd361324c613dff3">GemmTuner.parse_benchmark_commandline</a></div><div class="ttdeci">Dict[str, str] parse_benchmark_commandline(str commandline)</div><div class="ttdoc">Functions.</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00400">GemmTuner.py:400</a></div></div> |
| <div class="ttc" id="namespacearm__compute_1_1utils_xhtml_a9c3303817ba653b5d1e78efb88d02bcf"><div class="ttname"><a href="namespacearm__compute_1_1utils.xhtml#a9c3303817ba653b5d1e78efb88d02bcf">arm_compute::utils::map</a></div><div class="ttdeci">void map(T &tensor, bool blocking)</div><div class="ttdoc">Maps a tensor if needed.</div><div class="ttdef"><b>Definition:</b> <a href="utils_2_utils_8h_source.xhtml#l00212">Utils.h:212</a></div></div> |
| </div><!-- fragment --> |
| <p class="reference">References <a class="el" href="utils_2_utils_8h_source.xhtml#l00212">arm_compute::utils.map()</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_gemm_tuner_8py_source.xhtml#l00417">extract_benchmark_results()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ab9bf6647cc58e534561aa91a422229e4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab9bf6647cc58e534561aa91a422229e4">◆ </a></span>parse_json()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">def GemmTuner.parse_json </td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname"><em>dir_name</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <pre class="fragment">Glob all benchmark result json files and parse them into json objects (dicts). |
| </pre> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00470">470</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| <div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">def </span><a class="code" href="namespace_gemm_tuner.xhtml#ab9bf6647cc58e534561aa91a422229e4">parse_json</a>(dir_name):</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="stringliteral">""" Glob all benchmark result json files and parse them into json objects (dicts).</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="stringliteral"> """</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">for</span> res_fn <span class="keywordflow">in</span> Path(dir_name).rglob(<span class="stringliteral">"*.{}"</span>.format(BENCHMARK_RESULT_JSON_EXTENSION)):</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keyword">with</span> open(res_fn) <span class="keyword">as</span> res_fp:</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keywordflow">yield</span> json.load(res_fp)</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div><div class="ttc" id="namespace_gemm_tuner_xhtml_ab9bf6647cc58e534561aa91a422229e4"><div class="ttname"><a href="namespace_gemm_tuner.xhtml#ab9bf6647cc58e534561aa91a422229e4">GemmTuner.parse_json</a></div><div class="ttdeci">def parse_json(dir_name)</div><div class="ttdef"><b>Definition:</b> <a href="_gemm_tuner_8py_source.xhtml#l00470">GemmTuner.py:470</a></div></div> |
| </div><!-- fragment --> |
| <p class="reference">Referenced by <a class="el" href="_gemm_tuner_8py_source.xhtml#l00483">main()</a>.</p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Variable Documentation</h2> |
| <a id="a2f4ab7bf743142dae2e459aa18f9f1d4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2f4ab7bf743142dae2e459aa18f9f1d4">◆ </a></span>action</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">action</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00526">526</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a8187411843a6284ffb964ef3fb9fcab3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a8187411843a6284ffb964ef3fb9fcab3">◆ </a></span>args</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">args = parser.parse_args()</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00555">555</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="graph_2_graph_8h_source.xhtml#l00235">Graph.add_node()</a>, <a class="el" href="_command_line_parser_8h_source.xhtml#l00103">CommandLineParser.add_option()</a>, <a class="el" href="_command_line_parser_8h_source.xhtml#l00110">CommandLineParser.add_positional_option()</a>, <a class="el" href="tests_2framework_2_utils_8h_source.xhtml#l00079">arm_compute::test.apply()</a>, <a class="el" href="tests_2framework_2_utils_8h_source.xhtml#l00072">arm_compute::test::framework.apply_impl()</a>, <a class="el" href="_c_l_2_helper_8h_source.xhtml#l00050">CLSynthetizeFunction< CLGEMMMatrixMultiplyReshapedOnlyRHSKernel >.configure()</a>, <a class="el" href="_n_e_o_n_2_helper_8h_source.xhtml#l00063">NESynthetizeFunction< K >.configure()</a>, <a class="el" href="_n_e_o_n_2_helper_8h_source.xhtml#l00082">NESynthetizeFunctionWithZeroConstantBorder< K, bordersize >.configure()</a>, <a class="el" href="_c_l_2_helper_8h_source.xhtml#l00091">CLSynthetizeFunctionWithZeroConstantBorder< K, bordersize >.configure()</a>, <a class="el" href="_n_e_o_n_2_helper_8h_source.xhtml#l00102">NESynthetizeFunctionWithZeroConstantKernelBorder< K >.configure()</a>, <a class="el" href="_c_l_2_helper_8h_source.xhtml#l00112">CLSynthetizeFunctionInitOutputWithZeroAndWithZeroConstantBorder< K, bordersize >.configure()</a>, <a class="el" href="arm__compute_2core_2_helpers_8h_source.xhtml#l00074">arm_compute.create_configure_kernel()</a>, <a class="el" href="arm__compute_2graph_2backends_2_utils_8h_source.xhtml#l00045">arm_compute::graph::backends.create_named_function()</a>, <a class="el" href="arm__compute_2graph_2backends_2_utils_8h_source.xhtml#l00061">arm_compute::graph::backends.create_named_memory_managed_function()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00059">GemmImplementation< Top, Tret, OutputStage >.do_instantiate()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00091">GemmImplementation< Top, Tret, Nothing >.do_instantiate()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00051">GemmImplementation< Top, Tret, OutputStage >.do_is_recommended()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00083">GemmImplementation< Top, Tret, Nothing >.do_is_recommended()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00043">GemmImplementation< Top, Tret, OutputStage >.do_is_supported()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00075">GemmImplementation< Top, Tret, Nothing >.do_is_supported()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00119">arm_gemm.find_implementation()</a>, <a class="el" href="_utility_8h_source.xhtml#l00119">arm_compute::utility.for_each()</a>, <a class="el" href="_validate_8h_source.xhtml#l00114">arm_compute::detail.for_each_error()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00193">arm_gemm.gemm()</a>, <a class="el" href="gemm__interleaved_8hpp_source.xhtml#l00324">GemmInterleaved< strategy, To, Tr >.GemmInterleaved()</a>, <a class="el" href="gemv__batched_8hpp_source.xhtml#l00039">GemvBatched< To, Tr >.GemvBatched()</a>, <a class="el" href="gemv__pretransposed_8hpp_source.xhtml#l00071">GemvPretransposed< strategy, To, Tr >.GemvPretransposed()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00171">arm_gemm.get_compatible_kernels()</a>, <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00204">arm_gemm.get_gemm_method()</a>, <a class="el" href="core_2utils_2logging_2_logger_8h_source.xhtml#l00162">Logger.log()</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00480">arm_compute::support::cpp14.make_unique()</a>, <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02214">arm_compute.operator<<()</a>, <a class="el" href="quantize__wrapper_8hpp_source.xhtml#l00128">QuantizeWrapper< To, Tr, Tgemm >.QuantizeWrapper()</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00387">arm_compute::support::cpp11.snprintf()</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00302">arm_compute::support::cpp11.stof()</a>, <a class="el" href="arm__compute_2core_2utils_2logging_2_helpers_8h_source.xhtml#l00048">arm_compute::logging.string_with_format()</a>, <a class="el" href="utils_2_type_printer_8h_source.xhtml#l02264">arm_compute.to_string()</a>, and <a class="el" href="_c_l_2_helper_8h_source.xhtml#l00074">CLSynthetizeFunction< CLGEMMMatrixMultiplyReshapedOnlyRHSKernel >.validate()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a2f8b815490a02d3feccad7c5472ba4e2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a2f8b815490a02d3feccad7c5472ba4e2">◆ </a></span>BENCHMARK_RESULT_JSON_EXTENSION</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">string BENCHMARK_RESULT_JSON_EXTENSION = "gemmtuner_benchmark"</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00393">393</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a547e317a8765ca62ed005b0bf03fec15"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a547e317a8765ca62ed005b0bf03fec15">◆ </a></span>BenchmarkResultCSVRow</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">BenchmarkResultCSVRow</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Initial value:</b><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> = namedtuple(</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  <span class="stringliteral">"BenchmarkResultCSVRow"</span>, GEMMParam._fields + (<span class="stringliteral">"Strategy"</span>, <span class="stringliteral">"GEMMConfig"</span>) + Measurement._fields</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> )</div></div><!-- fragment --> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00163">163</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_gemm_tuner_8py_source.xhtml#l00168">benchmark_result_2_csv_row()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="affb1327b18bf08a379d19eef89cf1ed1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#affb1327b18bf08a379d19eef89cf1ed1">◆ </a></span>default</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">default</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00548">548</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ab0bede79c5f4cbed9c2cd932a0ace201"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab0bede79c5f4cbed9c2cd932a0ace201">◆ </a></span>dest</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">dest</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00524">524</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ae8424a0c14384f40c0a9c89289e90262"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae8424a0c14384f40c0a9c89289e90262">◆ </a></span>EXAMPLE_FILE_2_STRATEGY</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">dictionary EXAMPLE_FILE_2_STRATEGY</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Initial value:</b><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> = {</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  <span class="stringliteral">"benchmark_cl_gemm_native"</span>: Strategy.Native,</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  <span class="stringliteral">"benchmark_cl_gemm_reshaped_rhs_only"</span>: Strategy.ReshapedOnlyRHS,</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  <span class="stringliteral">"benchmark_cl_gemm_reshaped"</span>: Strategy.Reshaped,</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> }</div></div><!-- fragment --> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00367">367</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a3c0f164b66e196f940f4b9e206d586d5"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a3c0f164b66e196f940f4b9e206d586d5">◆ </a></span>GEMM_CONFIG_FACTORY</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">dictionary GEMM_CONFIG_FACTORY</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Initial value:</b><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> = {</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  Strategy.Native: NativeGEMMConfig,</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  Strategy.ReshapedOnlyRHS: ReshapedOnlyRHSGEMMConfig,</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  Strategy.Reshaped: ReshapedGEMMConfig,</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> }</div></div><!-- fragment --> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00359">359</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="abfd6c8b5e818f3a2a5dac6717b853018"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#abfd6c8b5e818f3a2a5dac6717b853018">◆ </a></span>GEMM_EXAMPLE_ARGS_FACTORY</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">dictionary GEMM_EXAMPLE_ARGS_FACTORY</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <b>Initial value:</b><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> = {</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  strategy: namedtuple(</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  <span class="stringliteral">"{}_Gemm_Example_Args"</span>.format(strategy_name),</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  GEMMParam._fields + GEMM_CONFIG_FACTORY[strategy]._fields,</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  )</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  <span class="keywordflow">for</span> strategy_name, strategy <span class="keywordflow">in</span> Strategy.__members__.items()</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  <span class="keywordflow">if</span> strategy_name == strategy.name</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> }</div></div><!-- fragment --> |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00383">383</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a696b6940cef01d03e1fc064d8be3727b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a696b6940cef01d03e1fc064d8be3727b">◆ </a></span>GEMMConfigT</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">GEMMConfigT = Union[<a class="el" href="class_gemm_tuner_1_1_native_g_e_m_m_config.xhtml">NativeGEMMConfig</a>, <a class="el" href="class_gemm_tuner_1_1_reshaped_only_r_h_s_g_e_m_m_config.xhtml">ReshapedOnlyRHSGEMMConfig</a>, <a class="el" href="class_gemm_tuner_1_1_reshaped_g_e_m_m_config.xhtml">ReshapedGEMMConfig</a>]</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00146">146</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a81ae9faedaa69e3e28e2960a0548df8d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a81ae9faedaa69e3e28e2960a0548df8d">◆ </a></span>help</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">help</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00528">528</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_option_8h_source.xhtml#l00125">Option.set_help()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="afde8e18a788ccc92fc61cab298bca7e3"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#afde8e18a788ccc92fc61cab298bca7e3">◆ </a></span>level</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">level</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00557">557</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00041">CLLKTrackerInitKernel.configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00123">CLLKTrackerStage0Kernel.configure()</a>, <a class="el" href="_c_l_l_k_tracker_kernel_8cpp_source.xhtml#l00213">CLLKTrackerStage1Kernel.configure()</a>, <a class="el" href="validation_2_c_l_2_gaussian_pyramid_8cpp_source.xhtml#l00073">arm_compute::test::validation.DATA_TEST_CASE()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00815">glFramebufferTexture2D()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00763">glTexImage2D()</a>, <a class="el" href="_exceptions_8cpp_source.xhtml#l00068">arm_compute::test::framework.operator<<()</a>, <a class="el" href="validation_2reference_2_optical_flow_8cpp_source.xhtml#l00246">arm_compute::test::validation::reference.optical_flow()</a>, <a class="el" href="_n_e_optical_flow_8cpp_source.xhtml#l00125">NEOpticalFlow.run()</a>, <a class="el" href="_c_l_optical_flow_8cpp_source.xhtml#l00148">CLOpticalFlow.run()</a>, and <a class="el" href="_exceptions_8cpp_source.xhtml#l00100">arm_compute::test::framework.to_string()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a05b240734aa0ab5756d163cc6b03d6e1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a05b240734aa0ab5756d163cc6b03d6e1">◆ </a></span>logging_level</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">logging_level = logging.DEBUG if args.debug else logging.INFO</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00556">556</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a6d8a64ff78fc562acbd80da81ed531b2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a6d8a64ff78fc562acbd80da81ed531b2">◆ </a></span>metavar</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">metavar</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00525">525</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a90eee7a4677ca8b1ed116364a24367f9"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a90eee7a4677ca8b1ed116364a24367f9">◆ </a></span>parser</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">parser = argparse.ArgumentParser(description="CL GEMM Tuner")</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00520">520</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_common_graph_options_8cpp_source.xhtml#l00115">CommonGraphOptions.CommonGraphOptions()</a>, <a class="el" href="graph__validate__utils_8h_source.xhtml#l00230">CommonGraphValidateOptions.CommonGraphValidateOptions()</a>, <a class="el" href="_common_options_8cpp_source.xhtml#l00038">CommonOptions.CommonOptions()</a>, <a class="el" href="graph__validate__utils_8h_source.xhtml#l00640">GraphValidateExample< DepthwiseConvolutionLayer, DepthConvolutionOptions, DepthConvolutionVerifyAccessor >.do_setup()</a>, <a class="el" href="main_8cpp_source.xhtml#l00093">main()</a>, and <a class="el" href="benchmark__examples_2_run_example_8cpp_source.xhtml#l00096">arm_compute::utils.run_example()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="ae81948490ddf54e80a22593640178350"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ae81948490ddf54e80a22593640178350">◆ </a></span>required</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">required</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00532">532</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_i_access_window_8h_source.xhtml#l00047">arm_compute.adjust_down()</a>, and <a class="el" href="_i_access_window_8h_source.xhtml#l00063">arm_compute.adjust_up()</a>.</p> |
| |
| </div> |
| </div> |
| <a id="acf7192c608527efb8f8dedf0a3f2e706"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#acf7192c608527efb8f8dedf0a3f2e706">◆ </a></span>Strategy</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">Strategy = Enum("Strategy", ["Native", "ReshapedOnlyRHS", "Reshaped"])</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p>Types. </p> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00041">41</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| </div> |
| </div> |
| <a id="a7aead736a07eaf25623ad7bfa1f0ee2d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a7aead736a07eaf25623ad7bfa1f0ee2d">◆ </a></span>type</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">type</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| |
| <p class="definition">Definition at line <a class="el" href="_gemm_tuner_8py_source.xhtml#l00527">527</a> of file <a class="el" href="_gemm_tuner_8py_source.xhtml">GemmTuner.py</a>.</p> |
| |
| <p class="reference">Referenced by <a class="el" href="_common_options_8cpp_source.xhtml#l00038">CommonOptions.CommonOptions()</a>, <a class="el" href="_n_e_threshold_8cpp_source.xhtml#l00033">NEThreshold.configure()</a>, <a class="el" href="_c_l_threshold_8cpp_source.xhtml#l00033">CLThreshold.configure()</a>, <a class="el" href="_c_l_threshold_kernel_8cpp_source.xhtml#l00037">CLThresholdKernel.configure()</a>, <a class="el" href="_c_l_normalization_layer_kernel_8cpp_source.xhtml#l00107">CLNormalizationLayerKernel.configure()</a>, <a class="el" href="_n_e_function_factory_8cpp_source.xhtml#l00186">NEFunctionFactory.create()</a>, <a class="el" href="_g_c_functions_factory_8cpp_source.xhtml#l00232">GCFunctionFactory.create()</a>, <a class="el" href="_scheduler_factory_8cpp_source.xhtml#l00051">SchedulerFactory.create()</a>, <a class="el" href="_c_l_functions_factory_8cpp_source.xhtml#l00221">CLFunctionFactory.create()</a>, <a class="el" href="_image_loader_8h_source.xhtml#l00509">ImageLoaderFactory.create()</a>, <a class="el" href="_c_l_kernel_library_8cpp_source.xhtml#l01070">CLKernelLibrary.create_kernel()</a>, <a class="el" href="_c_l_2_threshold_8cpp_source.xhtml#l00042">arm_compute::test::validation.DATA_TEST_CASE()</a>, <a class="el" href="validation_2reference_2_g_e_m_m_lowp_8cpp_source.xhtml#l00141">arm_compute::test::validation::reference.gemmlowp_matrix_multiply_core()</a>, <a class="el" href="utils_2_utils_8cpp_source.xhtml#l00161">arm_compute::utils.get_image_type_from_file()</a>, <a class="el" href="_framework_8cpp_source.xhtml#l00634">Framework.get_profiler()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00347">glCreateShader()</a>, <a class="el" href="_open_g_l_e_s_8cpp_source.xhtml#l00763">glTexImage2D()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00112">TensorInfo.init()</a>, <a class="el" href="src_2core_2_tensor_info_8cpp_source.xhtml#l00181">TensorInfo.init_auto_padding()</a>, <a class="el" href="_toolchain_support_8h_source.xhtml#l00493">arm_compute::support::cpp14.make_unique()</a>, <a class="el" href="_graph_8cpp_source.xhtml#l00174">Graph.nodes()</a>, <a class="el" href="validation_2reference_2_normalization_layer_8cpp_source.xhtml#l00037">arm_compute::test::validation::reference.normalization_layer()</a>, <a class="el" href="_dataset_modes_8h_source.xhtml#l00048">arm_compute::test::framework.operator &()</a>, <a class="el" href="_validation_8h_source.xhtml#l00335">compare< RelativeTolerance< U > >.operator bool()</a>, <a class="el" href="_dataset_modes_8h_source.xhtml#l00054">arm_compute::test::framework.operator|()</a>, <a class="el" href="_dataset_modes_8h_source.xhtml#l00060">arm_compute::test::framework.operator|=()</a>, <a class="el" href="validation_2reference_2_pooling_layer_8cpp_source.xhtml#l00041">arm_compute::test::validation::reference.pooling_layer_internal()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00243">arm_compute.string_from_norm_type()</a>, <a class="el" href="src_2core_2_utils_8cpp_source.xhtml#l00255">arm_compute.string_from_pooling_type()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00786">arm_compute::test.sync_if_necessary()</a>, <a class="el" href="tests_2_utils_8h_source.xhtml#l00803">arm_compute::test.sync_tensor_if_necessary()</a>, <a class="el" href="reference_2_threshold_8cpp_source.xhtml#l00035">arm_compute::test::validation::reference.threshold()</a>, <a class="el" href="tests_2_type_printer_8h_source.xhtml#l00064">arm_compute.to_string()</a>, <a class="el" href="_g_c_node_validator_8cpp_source.xhtml#l00095">GCNodeValidator.validate()</a>, <a class="el" href="_c_l_node_validator_8cpp_source.xhtml#l00041">CLNodeValidator.validate()</a>, <a class="el" href="_n_e_node_validator_8cpp_source.xhtml#l00041">NENodeValidator.validate()</a>, and <a class="el" href="_validation_8h_source.xhtml#l00456">arm_compute::test::validation.validate_wrap()</a>.</p> |
| |
| </div> |
| </div> |
| </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="namespace_gemm_tuner.xhtml">GemmTuner</a></li> |
| <li class="footer">Generated on Thu Nov 28 2019 16:53:21 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> |