<!-- 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: CLGEMMReshapedOnlyRHSKernelConfigurationFactory Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<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('classarm__compute_1_1cl__gemm_1_1_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_factory.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="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">CLGEMMReshapedOnlyRHSKernelConfigurationFactory Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>CLGEMMReshapedOnlyRHS factory class.  
 <a href="classarm__compute_1_1cl__gemm_1_1_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_factory.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_8h_source.xhtml">CLGEMMReshapedOnlyRHSKernelConfiguration.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ab2b50810acd1c74616ee97dee3cbdb6b"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classarm__compute_1_1_i_c_l_g_e_m_m_kernel_configuration.xhtml">ICLGEMMKernelConfiguration</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1cl__gemm_1_1_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_factory.xhtml#ab2b50810acd1c74616ee97dee3cbdb6b">create</a> (<a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a> arch)</td></tr>
<tr class="memdesc:ab2b50810acd1c74616ee97dee3cbdb6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static method to call the CLGEMMReshapedOnlyRHS kernel configuration class accordingly with the GPU architecture.  <a href="#ab2b50810acd1c74616ee97dee3cbdb6b">More...</a><br /></td></tr>
<tr class="separator:ab2b50810acd1c74616ee97dee3cbdb6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>CLGEMMReshapedOnlyRHS factory class. </p>

<p class="definition">Definition at line <a class="el" href="_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_8h_source.xhtml#l00037">37</a> of file <a class="el" href="_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_8h_source.xhtml">CLGEMMReshapedOnlyRHSKernelConfiguration.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ab2b50810acd1c74616ee97dee3cbdb6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2b50810acd1c74616ee97dee3cbdb6b">&#9670;&nbsp;</a></span>create()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::unique_ptr&lt;<a class="el" href="classarm__compute_1_1_i_c_l_g_e_m_m_kernel_configuration.xhtml">ICLGEMMKernelConfiguration</a>&gt; create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacearm__compute.xhtml#a735ac6c2a02e320969625308810444f3">GPUTarget</a>&#160;</td>
          <td class="paramname"><em>arch</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static method to call the CLGEMMReshapedOnlyRHS kernel configuration class accordingly with the GPU architecture. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">arch</td><td>GPU target</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>CLGEMMReshapedOnlyRHS kernel configuration class </dd></dl>

<p class="definition">Definition at line <a class="el" href="_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_8h_source.xhtml#l00046">46</a> of file <a class="el" href="_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_8h_source.xhtml">CLGEMMReshapedOnlyRHSKernelConfiguration.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="comment">// Note: At the moment we only support Bifrost architecture. However, we should have a dedicated path for each GPU architecture</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="comment">// using get_arch_from_target(arch)</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keywordflow">return</span> support::cpp14::make_unique&lt;CLGEMMReshapedOnlyRHSKernelConfigurationBifrost&gt;(arch);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    }</div></div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00083">CLGEMMLowpMatrixMultiplyCore::configure()</a>, and <a class="el" href="_c_l_g_e_m_m_lowp_matrix_multiply_core_8cpp_source.xhtml#l00274">CLGEMMLowpMatrixMultiplyCore::validate()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>arm_compute/core/CL/gemm/reshaped_only_rhs/<a class="el" href="_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_8h_source.xhtml">CLGEMMReshapedOnlyRHSKernelConfiguration.h</a></li>
</ul>
</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="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1cl__gemm.xhtml">cl_gemm</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1cl__gemm_1_1_c_l_g_e_m_m_reshaped_only_r_h_s_kernel_configuration_factory.xhtml">CLGEMMReshapedOnlyRHSKernelConfigurationFactory</a></li>
    <li class="footer">Generated on Thu Mar 5 2020 16:07:17 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>
