Commit a7de63a4 authored by Chris Austen's avatar Chris Austen
Browse files

Add documentation from 5.1

parent 608c8f96
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Contributor Guide &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="MIGraphX Fundamentals" href="dev_intro.html" />
<link rel="prev" title="MIGraphX Driver" href="driver.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributor Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev_intro.html">MIGraphX Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>Contributor Guide</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/contributor_guide.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="contributor-guide">
<h1>Contributor Guide<a class="headerlink" href="#contributor-guide" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="dev_intro.html">MIGraphX Fundamentals</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev_intro.html#location-of-the-examples">Location of the Examples</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev_intro.html#adding-two-literals">Adding Two Literals</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev_intro.html#using-parameters">Using Parameters</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev_intro.html#handling-tensor-data">Handling Tensor Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev_intro.html#importing-from-onnx">Importing From ONNX</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/data.html">Data types</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#shape">shape</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#literal">literal</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#argument">argument</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#raw-data">raw_data</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#tensor-view">tensor_view</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/operators.html">Operators</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html#operation">operation</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html#id1">operators</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/program.html">Program</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#instruction">instruction</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#instruction-ref">instruction_ref</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#id1">program</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#parse-onnx">parse_onnx</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#parse-tf">parse_tf</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#onnx-options">onnx_options</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#tf-options">tf_options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/targets.html">Targets</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html#target">target</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html#gpu-target">gpu::target</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html#cpu-target">cpu::target</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/quantization.html">Quantization</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html#quantize-fp16">quantize_fp16</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html#quantize-int8">quantize_int8</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/pass.html">Passes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#pass">pass</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#dead-code-elimination">dead_code_elimination</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-common-subexpression">eliminate_common_subexpression</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-concat">eliminate_concat</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-contiguous">eliminate_contiguous</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-identity">eliminate_identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-pad">eliminate_pad</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#propagate-constant">propagate_constant</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#rewrite-batchnorm">rewrite_batchnorm</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#rewrite-rnn">rewrite_rnn</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#schedule">schedule</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#simplify-algebra">simplify_algebra</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#simplify-reshapes">simplify_reshapes</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/matchers.html">Matchers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#arguments">Arguments</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#binding">Binding</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#finding-matches">Finding matches</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#creating-matchers">Creating matchers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/tools.html">Tools</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/tools.html#roctx-py">roctx.py</a></li>
</ul>
</li>
</ul>
</div>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="driver.html" class="btn btn-neutral float-left" title="MIGraphX Driver" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="dev_intro.html" class="btn btn-neutral float-right" title="MIGraphX Fundamentals" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>C++ User Guide &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="C++ Reference" href="reference/cpp.html" />
<link rel="prev" title="Python Reference" href="reference/py.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">C++ User Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html">C++ Reference</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor_guide.html">Contributor Guide</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>C++ User Guide</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/cpp_user_guide.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="c-user-guide">
<h1>C++ User Guide<a class="headerlink" href="#c-user-guide" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/cpp.html">C++ Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#shape">shape</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#argument">argument</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#target">target</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#program">program</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#quantize">quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#parse-onnx">parse_onnx</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#load">load</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html#save">save</a></li>
</ul>
</li>
</ul>
</div>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="reference/py.html" class="btn btn-neutral float-left" title="Python Reference" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="reference/cpp.html" class="btn btn-neutral float-right" title="C++ Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Matchers &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Tools" href="tools.html" />
<link rel="prev" title="Passes" href="pass.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../dev_intro.html">MIGraphX Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="pass.html">Passes</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Matchers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#introduction">Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="#arguments">Arguments</a></li>
<li class="toctree-l3"><a class="reference internal" href="#binding">Binding</a></li>
<li class="toctree-l3"><a class="reference internal" href="#finding-matches">Finding matches</a></li>
<li class="toctree-l3"><a class="reference internal" href="#creating-matchers">Creating matchers</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../contributor_guide.html">Contributor Guide</a> &raquo;</li>
<li>Matchers</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/dev/matchers.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="matchers">
<h1>Matchers<a class="headerlink" href="#matchers" title="Permalink to this headline"></a></h1>
<section id="introduction">
<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline"></a></h2>
<p>The matchers provide a way compose several predicates together. Many of the matchers can be composed so that <code class="docutils literal notranslate"><span class="pre">m(m1,</span> <span class="pre">m2)</span></code> will first check that <code class="docutils literal notranslate"><span class="pre">m</span></code> matches and then it will check that <code class="docutils literal notranslate"><span class="pre">m1</span></code> and <code class="docutils literal notranslate"><span class="pre">m2</span></code> will match.</p>
<p>The most commonly-used matcher is the <code class="docutils literal notranslate"><span class="pre">name</span></code> matcher. It will match the instruction that have the operator that is equal to the name specified:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">match_sum</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;sum&quot;</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This will find <code class="docutils literal notranslate"><span class="pre">sum</span></code> operators. We can also find <code class="docutils literal notranslate"><span class="pre">sum</span></code> operators which the output is <code class="docutils literal notranslate"><span class="pre">standard_shape</span></code>:</p>
<blockquote>
<div><p>auto match_sum = name(“sum”)(standard_shape());</p>
</div></blockquote>
</section>
<section id="arguments">
<h2>Arguments<a class="headerlink" href="#arguments" title="Permalink to this headline"></a></h2>
<p>We also want to match arguments to the instructions as well. One way, is to match each argument using the <code class="docutils literal notranslate"><span class="pre">arg</span></code> matcher:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">match_sum</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;sum&quot;</span><span class="p">)(</span><span class="n">arg</span><span class="p">(</span><span class="mi">0</span><span class="p">)(</span><span class="n">name</span><span class="p">(</span><span class="s">&quot;@literal&quot;</span><span class="p">),</span><span class="w"> </span><span class="n">arg</span><span class="p">(</span><span class="mi">1</span><span class="p">)(</span><span class="n">name</span><span class="p">(</span><span class="s">&quot;@literal&quot;</span><span class="p">))));</span><span class="w"></span>
</pre></div>
</div>
<p>This will match a <code class="docutils literal notranslate"><span class="pre">sum</span></code> operator with the two arguments that are literals. Of course, instead of writing <code class="docutils literal notranslate"><span class="pre">arg(0)</span></code> and <code class="docutils literal notranslate"><span class="pre">arg(1)</span></code> everytime, the <code class="docutils literal notranslate"><span class="pre">args</span></code> matcher can be used:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">match_sum</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;sum&quot;</span><span class="p">)(</span><span class="n">args</span><span class="p">(</span><span class="n">name</span><span class="p">(</span><span class="s">&quot;@literal&quot;</span><span class="p">),</span><span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;@literal&quot;</span><span class="p">)));</span><span class="w"></span>
</pre></div>
</div>
</section>
<section id="binding">
<h2>Binding<a class="headerlink" href="#binding" title="Permalink to this headline"></a></h2>
<p>As we traverse through the instructions we may want reference some of the instructions we find along the way. We can do this by calling <code class="docutils literal notranslate"><span class="pre">.bind</span></code>:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">auto</span><span class="w"> </span><span class="n">match_sum</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;sum&quot;</span><span class="p">)(</span><span class="n">args</span><span class="p">(</span><span class="w"></span>
<span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;@literal&quot;</span><span class="p">).</span><span class="n">bind</span><span class="p">(</span><span class="s">&quot;one&quot;</span><span class="p">),</span><span class="w"></span>
<span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;@literal&quot;</span><span class="p">).</span><span class="n">bind</span><span class="p">(</span><span class="s">&quot;two&quot;</span><span class="p">)</span><span class="w"></span>
<span class="w"> </span><span class="p">)).</span><span class="n">bind</span><span class="p">(</span><span class="s">&quot;sum&quot;</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>This will associate the instruction to a name that can be read from the <code class="docutils literal notranslate"><span class="pre">matcher_result</span></code> when it matches.</p>
</section>
<section id="finding-matches">
<h2>Finding matches<a class="headerlink" href="#finding-matches" title="Permalink to this headline"></a></h2>
<p>Finally, when you want to use the matchers to find instructions a callback object can be written which has the matcher and an <code class="docutils literal notranslate"><span class="pre">apply</span></code> function which will take the <code class="docutils literal notranslate"><span class="pre">matcher_result</span></code> when the match is found:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">match_find_sum</span><span class="w"></span>
<span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">matcher</span><span class="p">()</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">name</span><span class="p">(</span><span class="s">&quot;sum&quot;</span><span class="p">);</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">apply</span><span class="p">(</span><span class="n">program</span><span class="o">&amp;</span><span class="w"> </span><span class="n">p</span><span class="p">,</span><span class="w"> </span><span class="n">matcher_result</span><span class="w"> </span><span class="n">r</span><span class="p">)</span><span class="w"> </span><span class="k">const</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="c1">// Do something with the result</span>
<span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="p">};</span><span class="w"></span>
<span class="n">find_matches</span><span class="p">(</span><span class="n">prog</span><span class="p">,</span><span class="w"> </span><span class="n">match_find_sum</span><span class="p">{});</span><span class="w"></span>
</pre></div>
</div>
</section>
<section id="creating-matchers">
<h2>Creating matchers<a class="headerlink" href="#creating-matchers" title="Permalink to this headline"></a></h2>
<p>There are several ways to create matchers. The macros <code class="docutils literal notranslate"><span class="pre">MIGRAPH_BASIC_MATCHER</span></code> and <code class="docutils literal notranslate"><span class="pre">MIGRAPH_PRED_MATCHER</span></code> help with creating matchers. For example, we can create a matcher for shapes that are broadcasted:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">MIGRAPH_PRED_MATCHER</span><span class="p">(</span><span class="n">broadcasted_shape</span><span class="p">,</span><span class="w"> </span><span class="n">instruction_ref</span><span class="w"> </span><span class="n">ins</span><span class="p">)</span><span class="w"></span>
<span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ins</span><span class="o">-&gt;</span><span class="n">get_shape</span><span class="p">().</span><span class="n">broadcasted</span><span class="p">();</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
<p>If we want parameters to the predicate, then we will need to use the <code class="docutils literal notranslate"><span class="pre">make_basic_pred_matcher</span></code> to create the matcher. For example, here is how we would create a matcher to check the number of dimensions of the shape:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="kr">inline</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">number_of_dims</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="kt">size_t</span><span class="w"> </span><span class="n">n</span><span class="p">)</span><span class="w"></span>
<span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">make_basic_pred_matcher</span><span class="p">([</span><span class="o">=</span><span class="p">](</span><span class="n">instruction_ref</span><span class="w"> </span><span class="n">ins</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">ins</span><span class="o">-&gt;</span><span class="n">get_shape</span><span class="p">().</span><span class="n">lens</span><span class="p">().</span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">n</span><span class="p">;</span><span class="w"></span>
<span class="w"> </span><span class="p">});</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="pass.html" class="btn btn-neutral float-left" title="Passes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="tools.html" class="btn btn-neutral float-right" title="Tools" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Passes &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Matchers" href="matchers.html" />
<link rel="prev" title="Quantization" href="quantization.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../dev_intro.html">MIGraphX Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="quantization.html">Quantization</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Passes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#pass">pass</a></li>
<li class="toctree-l3"><a class="reference internal" href="#dead-code-elimination">dead_code_elimination</a></li>
<li class="toctree-l3"><a class="reference internal" href="#eliminate-common-subexpression">eliminate_common_subexpression</a></li>
<li class="toctree-l3"><a class="reference internal" href="#eliminate-concat">eliminate_concat</a></li>
<li class="toctree-l3"><a class="reference internal" href="#eliminate-contiguous">eliminate_contiguous</a></li>
<li class="toctree-l3"><a class="reference internal" href="#eliminate-identity">eliminate_identity</a></li>
<li class="toctree-l3"><a class="reference internal" href="#eliminate-pad">eliminate_pad</a></li>
<li class="toctree-l3"><a class="reference internal" href="#propagate-constant">propagate_constant</a></li>
<li class="toctree-l3"><a class="reference internal" href="#rewrite-batchnorm">rewrite_batchnorm</a></li>
<li class="toctree-l3"><a class="reference internal" href="#rewrite-rnn">rewrite_rnn</a></li>
<li class="toctree-l3"><a class="reference internal" href="#schedule">schedule</a></li>
<li class="toctree-l3"><a class="reference internal" href="#simplify-algebra">simplify_algebra</a></li>
<li class="toctree-l3"><a class="reference internal" href="#simplify-reshapes">simplify_reshapes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../contributor_guide.html">Contributor Guide</a> &raquo;</li>
<li>Passes</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/dev/pass.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="passes">
<h1>Passes<a class="headerlink" href="#passes" title="Permalink to this headline"></a></h1>
<section id="pass">
<h2>pass<a class="headerlink" href="#pass" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal4passE">
<span id="_CPPv3N8migraphx8internal4passE"></span><span id="_CPPv2N8migraphx8internal4passE"></span><span id="migraphx::internal::pass"></span><span class="target" id="structmigraphx_1_1internal_1_1pass"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">pass</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal4passE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An interface for applying a transformation to the instructions in a <code class="docutils literal notranslate"><span class="pre">program</span></code> </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal4pass4nameEv">
<span id="_CPPv3NK8migraphx8internal4pass4nameEv"></span><span id="_CPPv2NK8migraphx8internal4pass4nameEv"></span><span id="migraphx::internal::pass::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1pass_1a74c3534916850024a5666480e874bbcb"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal4pass4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>A unique name used to identify the pass. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal4pass5applyER19module_pass_manager">
<span id="_CPPv3NK8migraphx8internal4pass5applyER19module_pass_manager"></span><span id="_CPPv2NK8migraphx8internal4pass5applyER19module_pass_manager"></span><span id="migraphx::internal::pass::apply__module_pass_managerRC"></span><span class="target" id="structmigraphx_1_1internal_1_1pass_1a97908821cb5a986f55286f2f0fcadd5c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module_pass_manager</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">mpm</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal4pass5applyER19module_pass_manager" title="Permalink to this definition"></a><br /></dt>
<dd><p>Run the pass on the module. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal4pass5applyER6module">
<span id="_CPPv3NK8migraphx8internal4pass5applyER6module"></span><span id="_CPPv2NK8migraphx8internal4pass5applyER6module"></span><span id="migraphx::internal::pass::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1pass_1a22b501250ffeffe38452ef922154b5bb"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">m</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal4pass5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal4pass5applyER7program">
<span id="_CPPv3NK8migraphx8internal4pass5applyER7program"></span><span id="_CPPv2NK8migraphx8internal4pass5applyER7program"></span><span id="migraphx::internal::pass::apply__programRC"></span><span class="target" id="structmigraphx_1_1internal_1_1pass_1a2aca457829b9b333c8e165825f39848f"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="program.html#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal4pass5applyER7program" title="Permalink to this definition"></a><br /></dt>
<dd><p>Run the pass on the program. </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="dead-code-elimination">
<h2>dead_code_elimination<a class="headerlink" href="#dead-code-elimination" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal21dead_code_eliminationE">
<span id="_CPPv3N8migraphx8internal21dead_code_eliminationE"></span><span id="_CPPv2N8migraphx8internal21dead_code_eliminationE"></span><span id="migraphx::internal::dead_code_elimination"></span><span class="target" id="structmigraphx_1_1internal_1_1dead__code__elimination"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">dead_code_elimination</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal21dead_code_eliminationE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Remove instructions where the output is not used. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal21dead_code_elimination4nameEv">
<span id="_CPPv3NK8migraphx8internal21dead_code_elimination4nameEv"></span><span id="_CPPv2NK8migraphx8internal21dead_code_elimination4nameEv"></span><span id="migraphx::internal::dead_code_elimination::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1dead__code__elimination_1a2f815db343e1dfe4868c38db94b18fc8"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal21dead_code_elimination4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal21dead_code_elimination5applyER6module">
<span id="_CPPv3NK8migraphx8internal21dead_code_elimination5applyER6module"></span><span id="_CPPv2NK8migraphx8internal21dead_code_elimination5applyER6module"></span><span id="migraphx::internal::dead_code_elimination::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1dead__code__elimination_1ab374ecbf967890b9afdf0f50154eea8a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">m</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal21dead_code_elimination5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal21dead_code_elimination5applyER7program">
<span id="_CPPv3NK8migraphx8internal21dead_code_elimination5applyER7program"></span><span id="_CPPv2NK8migraphx8internal21dead_code_elimination5applyER7program"></span><span id="migraphx::internal::dead_code_elimination::apply__programRC"></span><span class="target" id="structmigraphx_1_1internal_1_1dead__code__elimination_1afb2d92ac2dac6fa0e528bc9519865194"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="program.html#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal21dead_code_elimination5applyER7program" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="eliminate-common-subexpression">
<h2>eliminate_common_subexpression<a class="headerlink" href="#eliminate-common-subexpression" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal30eliminate_common_subexpressionE">
<span id="_CPPv3N8migraphx8internal30eliminate_common_subexpressionE"></span><span id="_CPPv2N8migraphx8internal30eliminate_common_subexpressionE"></span><span id="migraphx::internal::eliminate_common_subexpression"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__common__subexpression"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">eliminate_common_subexpression</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal30eliminate_common_subexpressionE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Remove identical instructions. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal30eliminate_common_subexpression4nameEv">
<span id="_CPPv3NK8migraphx8internal30eliminate_common_subexpression4nameEv"></span><span id="_CPPv2NK8migraphx8internal30eliminate_common_subexpression4nameEv"></span><span id="migraphx::internal::eliminate_common_subexpression::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__common__subexpression_1a2a36d2ccc1a92cb0f63483569802c07d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal30eliminate_common_subexpression4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal30eliminate_common_subexpression5applyER6module">
<span id="_CPPv3NK8migraphx8internal30eliminate_common_subexpression5applyER6module"></span><span id="_CPPv2NK8migraphx8internal30eliminate_common_subexpression5applyER6module"></span><span id="migraphx::internal::eliminate_common_subexpression::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__common__subexpression_1a0a9ea7531f7c4589413a60d644afbaed"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal30eliminate_common_subexpression5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="eliminate-concat">
<h2>eliminate_concat<a class="headerlink" href="#eliminate-concat" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal16eliminate_concatE">
<span id="_CPPv3N8migraphx8internal16eliminate_concatE"></span><span id="_CPPv2N8migraphx8internal16eliminate_concatE"></span><span id="migraphx::internal::eliminate_concat"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__concat"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">eliminate_concat</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal16eliminate_concatE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Remove concat operators by having each operator can write to different chunk of memory. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal16eliminate_concat4nameEv">
<span id="_CPPv3NK8migraphx8internal16eliminate_concat4nameEv"></span><span id="_CPPv2NK8migraphx8internal16eliminate_concat4nameEv"></span><span id="migraphx::internal::eliminate_concat::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__concat_1ade6e10f0680f7674261b5459fdd21962"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal16eliminate_concat4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal16eliminate_concat5applyER6module">
<span id="_CPPv3NK8migraphx8internal16eliminate_concat5applyER6module"></span><span id="_CPPv2NK8migraphx8internal16eliminate_concat5applyER6module"></span><span id="migraphx::internal::eliminate_concat::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__concat_1a7ca80a853fd27442f45993305d6963f2"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal16eliminate_concat5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal16eliminate_concat10concat_optE">
<span id="_CPPv3N8migraphx8internal16eliminate_concat10concat_optE"></span><span id="_CPPv2N8migraphx8internal16eliminate_concat10concat_optE"></span><span id="migraphx::internal::eliminate_concat::concat_opt__concat_optimization"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__concat_1a50a87b0c937425ad2a46016588001217"></span><span class="n"><span class="pre">concat_optimization</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">concat_opt</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal16eliminate_concat10concat_optE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="eliminate-contiguous">
<h2>eliminate_contiguous<a class="headerlink" href="#eliminate-contiguous" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal20eliminate_contiguousE">
<span id="_CPPv3N8migraphx8internal20eliminate_contiguousE"></span><span id="_CPPv2N8migraphx8internal20eliminate_contiguousE"></span><span id="migraphx::internal::eliminate_contiguous"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__contiguous"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">eliminate_contiguous</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal20eliminate_contiguousE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Remove contiguous instructions by checking if the operator can use non-standard shapes. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal20eliminate_contiguous4nameEv">
<span id="_CPPv3NK8migraphx8internal20eliminate_contiguous4nameEv"></span><span id="_CPPv2NK8migraphx8internal20eliminate_contiguous4nameEv"></span><span id="migraphx::internal::eliminate_contiguous::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__contiguous_1a3e01c74dad2b3e82f038064b89a33352"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal20eliminate_contiguous4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal20eliminate_contiguous5applyER6module">
<span id="_CPPv3NK8migraphx8internal20eliminate_contiguous5applyER6module"></span><span id="_CPPv2NK8migraphx8internal20eliminate_contiguous5applyER6module"></span><span id="migraphx::internal::eliminate_contiguous::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__contiguous_1a16909fe3e064ff5f790910e191e97d02"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal20eliminate_contiguous5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal20eliminate_contiguous7op_nameE">
<span id="_CPPv3N8migraphx8internal20eliminate_contiguous7op_nameE"></span><span id="_CPPv2N8migraphx8internal20eliminate_contiguous7op_nameE"></span><span id="migraphx::internal::eliminate_contiguous::op_name__ss"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__contiguous_1a4d17b271f13de4eb7a8bb9a6db01498d"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">op_name</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal20eliminate_contiguous7op_nameE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="eliminate-identity">
<h2>eliminate_identity<a class="headerlink" href="#eliminate-identity" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal18eliminate_identityE">
<span id="_CPPv3N8migraphx8internal18eliminate_identityE"></span><span id="_CPPv2N8migraphx8internal18eliminate_identityE"></span><span id="migraphx::internal::eliminate_identity"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__identity"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">eliminate_identity</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal18eliminate_identityE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Remove identity instructions. Currently when used as the last pass, it will preserve the semantics of previous program state, therefore dead code elimination should not be used afterwards. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal18eliminate_identity4nameEv">
<span id="_CPPv3NK8migraphx8internal18eliminate_identity4nameEv"></span><span id="_CPPv2NK8migraphx8internal18eliminate_identity4nameEv"></span><span id="migraphx::internal::eliminate_identity::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__identity_1a91433842bd05bd3dc2fd13b50b0e07ab"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal18eliminate_identity4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal18eliminate_identity5applyER6module">
<span id="_CPPv3NK8migraphx8internal18eliminate_identity5applyER6module"></span><span id="_CPPv2NK8migraphx8internal18eliminate_identity5applyER6module"></span><span id="migraphx::internal::eliminate_identity::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__identity_1acbbf213f07b5427a0fc825c085ea4605"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal18eliminate_identity5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="eliminate-pad">
<h2>eliminate_pad<a class="headerlink" href="#eliminate-pad" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal13eliminate_padE">
<span id="_CPPv3N8migraphx8internal13eliminate_padE"></span><span id="_CPPv2N8migraphx8internal13eliminate_padE"></span><span id="migraphx::internal::eliminate_pad"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__pad"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">eliminate_pad</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal13eliminate_padE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Remove pads if they can be written as an attribute to another op (im2col, convolution, pooling) </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal13eliminate_pad4nameEv">
<span id="_CPPv3NK8migraphx8internal13eliminate_pad4nameEv"></span><span id="_CPPv2NK8migraphx8internal13eliminate_pad4nameEv"></span><span id="migraphx::internal::eliminate_pad::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__pad_1af84a5c68c50ed77eea329b581201a947"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal13eliminate_pad4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal13eliminate_pad5applyER6module">
<span id="_CPPv3NK8migraphx8internal13eliminate_pad5applyER6module"></span><span id="_CPPv2NK8migraphx8internal13eliminate_pad5applyER6module"></span><span id="migraphx::internal::eliminate_pad::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1eliminate__pad_1a7283bae5e6bf572a732953a0ad3581ce"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">m</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal13eliminate_pad5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="propagate-constant">
<h2>propagate_constant<a class="headerlink" href="#propagate-constant" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal18propagate_constantE">
<span id="_CPPv3N8migraphx8internal18propagate_constantE"></span><span id="_CPPv2N8migraphx8internal18propagate_constantE"></span><span id="migraphx::internal::propagate_constant"></span><span class="target" id="structmigraphx_1_1internal_1_1propagate__constant"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">propagate_constant</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal18propagate_constantE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Replace instructions which take all literals with a literal of the computation. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal18propagate_constant4nameEv">
<span id="_CPPv3NK8migraphx8internal18propagate_constant4nameEv"></span><span id="_CPPv2NK8migraphx8internal18propagate_constant4nameEv"></span><span id="migraphx::internal::propagate_constant::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1propagate__constant_1aa06679544a67452dd3c1eed9ff949027"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal18propagate_constant4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal18propagate_constant5applyER6module">
<span id="_CPPv3NK8migraphx8internal18propagate_constant5applyER6module"></span><span id="_CPPv2NK8migraphx8internal18propagate_constant5applyER6module"></span><span id="migraphx::internal::propagate_constant::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1propagate__constant_1a0ac2df3271e16346c9a73452c95400d4"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal18propagate_constant5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="rewrite-batchnorm">
<h2>rewrite_batchnorm<a class="headerlink" href="#rewrite-batchnorm" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal17rewrite_batchnormE">
<span id="_CPPv3N8migraphx8internal17rewrite_batchnormE"></span><span id="_CPPv2N8migraphx8internal17rewrite_batchnormE"></span><span id="migraphx::internal::rewrite_batchnorm"></span><span class="target" id="structmigraphx_1_1internal_1_1rewrite__batchnorm"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">rewrite_batchnorm</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal17rewrite_batchnormE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rewrite batchnorm to a multiply and add. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal17rewrite_batchnorm4nameEv">
<span id="_CPPv3NK8migraphx8internal17rewrite_batchnorm4nameEv"></span><span id="_CPPv2NK8migraphx8internal17rewrite_batchnorm4nameEv"></span><span id="migraphx::internal::rewrite_batchnorm::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1rewrite__batchnorm_1ad8714e5719ad29b6b82039dc7ac132d1"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal17rewrite_batchnorm4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal17rewrite_batchnorm5applyER6module">
<span id="_CPPv3NK8migraphx8internal17rewrite_batchnorm5applyER6module"></span><span id="_CPPv2NK8migraphx8internal17rewrite_batchnorm5applyER6module"></span><span id="migraphx::internal::rewrite_batchnorm::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1rewrite__batchnorm_1a68f67a98bcef06a24759eb6408bd0cfd"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal17rewrite_batchnorm5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="rewrite-rnn">
<h2>rewrite_rnn<a class="headerlink" href="#rewrite-rnn" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11rewrite_rnnE">
<span id="_CPPv3N8migraphx8internal11rewrite_rnnE"></span><span id="_CPPv2N8migraphx8internal11rewrite_rnnE"></span><span id="migraphx::internal::rewrite_rnn"></span><span class="target" id="structmigraphx_1_1internal_1_1rewrite__rnn"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">rewrite_rnn</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal11rewrite_rnnE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Rewrite rnn to gemm and add. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11rewrite_rnn4nameEv">
<span id="_CPPv3NK8migraphx8internal11rewrite_rnn4nameEv"></span><span id="_CPPv2NK8migraphx8internal11rewrite_rnn4nameEv"></span><span id="migraphx::internal::rewrite_rnn::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1rewrite__rnn_1a45a73c1b5ceabbd382198630f0fb5fbe"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11rewrite_rnn4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11rewrite_rnn5applyER6module">
<span id="_CPPv3NK8migraphx8internal11rewrite_rnn5applyER6module"></span><span id="_CPPv2NK8migraphx8internal11rewrite_rnn5applyER6module"></span><span id="migraphx::internal::rewrite_rnn::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1rewrite__rnn_1a7cc43b11c5369a2c3eaac907716d6fc0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">prog</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11rewrite_rnn5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="schedule">
<h2>schedule<a class="headerlink" href="#schedule" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal8scheduleE">
<span id="_CPPv3N8migraphx8internal8scheduleE"></span><span id="_CPPv2N8migraphx8internal8scheduleE"></span><span id="migraphx::internal::schedule"></span><span class="target" id="structmigraphx_1_1internal_1_1schedule"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">schedule</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal8scheduleE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Schedule instructions for concurrent execution </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal8schedule4nameEv">
<span id="_CPPv3NK8migraphx8internal8schedule4nameEv"></span><span id="_CPPv2NK8migraphx8internal8schedule4nameEv"></span><span id="migraphx::internal::schedule::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1schedule_1aa31d777eab7c36291feb188ce1fd6a5d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal8schedule4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal8schedule5applyER6module">
<span id="_CPPv3NK8migraphx8internal8schedule5applyER6module"></span><span id="_CPPv2NK8migraphx8internal8schedule5applyER6module"></span><span id="migraphx::internal::schedule::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1schedule_1a6e6e2dd4919cb1d152800d866d2c5a20"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal8schedule5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal8schedule5modelE">
<span id="_CPPv3N8migraphx8internal8schedule5modelE"></span><span id="_CPPv2N8migraphx8internal8schedule5modelE"></span><span id="migraphx::internal::schedule::model__schedule_model"></span><span class="target" id="structmigraphx_1_1internal_1_1schedule_1ad8fab4dfdf856ef7cd222dc313617d43"></span><span class="n"><span class="pre">schedule_model</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">model</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal8schedule5modelE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal8schedule6enableE">
<span id="_CPPv3N8migraphx8internal8schedule6enableE"></span><span id="_CPPv2N8migraphx8internal8schedule6enableE"></span><span id="migraphx::internal::schedule::enable__b"></span><span class="target" id="structmigraphx_1_1internal_1_1schedule_1a4d720c52521eb57dbf2ea22e08b68970"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">enable</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal8schedule6enableE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="simplify-algebra">
<h2>simplify_algebra<a class="headerlink" href="#simplify-algebra" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal16simplify_algebraE">
<span id="_CPPv3N8migraphx8internal16simplify_algebraE"></span><span id="_CPPv2N8migraphx8internal16simplify_algebraE"></span><span id="migraphx::internal::simplify_algebra"></span><span class="target" id="structmigraphx_1_1internal_1_1simplify__algebra"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">simplify_algebra</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal16simplify_algebraE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Simplify many algebraic instructions to more efficient versions. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal16simplify_algebra4nameEv">
<span id="_CPPv3NK8migraphx8internal16simplify_algebra4nameEv"></span><span id="_CPPv2NK8migraphx8internal16simplify_algebra4nameEv"></span><span id="migraphx::internal::simplify_algebra::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1simplify__algebra_1a01d9764f1cea6f77b9a1ebf378884215"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal16simplify_algebra4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal16simplify_algebra5applyER6module">
<span id="_CPPv3NK8migraphx8internal16simplify_algebra5applyER6module"></span><span id="_CPPv2NK8migraphx8internal16simplify_algebra5applyER6module"></span><span id="migraphx::internal::simplify_algebra::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1simplify__algebra_1a8a6586836b81a2287affdfac265e132d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal16simplify_algebra5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="simplify-reshapes">
<h2>simplify_reshapes<a class="headerlink" href="#simplify-reshapes" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal17simplify_reshapesE">
<span id="_CPPv3N8migraphx8internal17simplify_reshapesE"></span><span id="_CPPv2N8migraphx8internal17simplify_reshapesE"></span><span id="migraphx::internal::simplify_reshapes"></span><span class="target" id="structmigraphx_1_1internal_1_1simplify__reshapes"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">simplify_reshapes</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal17simplify_reshapesE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Eliminate redundant reshapes. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal17simplify_reshapes4nameEv">
<span id="_CPPv3NK8migraphx8internal17simplify_reshapes4nameEv"></span><span id="_CPPv2NK8migraphx8internal17simplify_reshapes4nameEv"></span><span id="migraphx::internal::simplify_reshapes::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1simplify__reshapes_1ac02ff79885e8b3943f665c499387f939"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal17simplify_reshapes4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal17simplify_reshapes5applyER6module">
<span id="_CPPv3NK8migraphx8internal17simplify_reshapes5applyER6module"></span><span id="_CPPv2NK8migraphx8internal17simplify_reshapes5applyER6module"></span><span id="migraphx::internal::simplify_reshapes::apply__moduleRC"></span><span class="target" id="structmigraphx_1_1internal_1_1simplify__reshapes_1ae642fe6be2fa0bc89f101f78820d5a4e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">apply</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">p</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal17simplify_reshapes5applyER6module" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="quantization.html" class="btn btn-neutral float-left" title="Quantization" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="matchers.html" class="btn btn-neutral float-right" title="Matchers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Program &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Targets" href="targets.html" />
<link rel="prev" title="Operators" href="operators.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../dev_intro.html">MIGraphX Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Program</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#instruction">instruction</a></li>
<li class="toctree-l3"><a class="reference internal" href="#instruction-ref">instruction_ref</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id1">program</a></li>
<li class="toctree-l3"><a class="reference internal" href="#parse-onnx">parse_onnx</a></li>
<li class="toctree-l3"><a class="reference internal" href="#parse-tf">parse_tf</a></li>
<li class="toctree-l3"><a class="reference internal" href="#onnx-options">onnx_options</a></li>
<li class="toctree-l3"><a class="reference internal" href="#tf-options">tf_options</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../contributor_guide.html">Contributor Guide</a> &raquo;</li>
<li>Program</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/dev/program.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="program">
<h1>Program<a class="headerlink" href="#program" title="Permalink to this headline"></a></h1>
<section id="instruction">
<h2>instruction<a class="headerlink" href="#instruction" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instructionE">
<span id="_CPPv3N8migraphx8internal11instructionE"></span><span id="_CPPv2N8migraphx8internal11instructionE"></span><span id="migraphx::internal::instruction"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">instruction</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instructionE" title="Permalink to this definition"></a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction11instructionEv">
<span id="_CPPv3N8migraphx8internal11instruction11instructionEv"></span><span id="_CPPv2N8migraphx8internal11instruction11instructionEv"></span><span id="migraphx::internal::instruction::instruction"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1ae3a3c7aa8f52fc7e928ad7a996451b1d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">instruction</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction11instructionEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEE">
<span id="_CPPv3N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEE"></span><span id="_CPPv2N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEE"></span><span id="migraphx::internal::instruction::instruction__operation.shape.std::vector:instruction_ref:"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a5863603719f2c8b0b1186e6ebafa6e1e"></span><span class="sig-name descname"><span class="n"><span class="pre">instruction</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="operators.html#_CPPv4N8migraphx8internal9operationE" title="migraphx::internal::operation"><span class="n"><span class="pre">operation</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">o</span></span>, <a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">r</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE">
<span id="_CPPv3N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE"></span><span id="_CPPv2N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE"></span><span id="migraphx::internal::instruction::instruction__operation.shape.std::vector:instruction_ref:.std::vector:module_ref:"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1aa53c72cf15201f57852524065206e788"></span><span class="sig-name descname"><span class="n"><span class="pre">instruction</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="operators.html#_CPPv4N8migraphx8internal9operationE" title="migraphx::internal::operation"><span class="n"><span class="pre">operation</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">o</span></span>, <a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">r</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">module_ref</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">modules</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction11instructionE9operation5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction11instructionE7literal">
<span id="_CPPv3N8migraphx8internal11instruction11instructionE7literal"></span><span id="_CPPv2N8migraphx8internal11instruction11instructionE7literal"></span><span id="migraphx::internal::instruction::instruction__literal"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a9c0d6298a0181ec6354eb3197d3cc019"></span><span class="sig-name descname"><span class="n"><span class="pre">instruction</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal7literalE" title="migraphx::internal::literal"><span class="n"><span class="pre">literal</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">l</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction11instructionE7literal" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction7replaceE9operation">
<span id="_CPPv3N8migraphx8internal11instruction7replaceE9operation"></span><span id="_CPPv2N8migraphx8internal11instruction7replaceE9operation"></span><span id="migraphx::internal::instruction::replace__operation"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1af892c8f59d7b90ba2ff014ba2c8384e3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">replace</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="operators.html#_CPPv4N8migraphx8internal9operationE" title="migraphx::internal::operation"><span class="n"><span class="pre">operation</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">o</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction7replaceE9operation" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction15recompute_shapeEv">
<span id="_CPPv3N8migraphx8internal11instruction15recompute_shapeEv"></span><span id="_CPPv2N8migraphx8internal11instruction15recompute_shapeEv"></span><span id="migraphx::internal::instruction::recompute_shape"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1af35c8961c3f84b74c77ce0d77ca31c40"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">recompute_shape</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction15recompute_shapeEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction15clear_argumentsEv">
<span id="_CPPv3N8migraphx8internal11instruction15clear_argumentsEv"></span><span id="_CPPv2N8migraphx8internal11instruction15clear_argumentsEv"></span><span id="migraphx::internal::instruction::clear_arguments"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a2fee9494389316ee500f50650e70228d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">clear_arguments</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction15clear_argumentsEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction5validE15instruction_refb">
<span id="_CPPv3NK8migraphx8internal11instruction5validE15instruction_refb"></span><span id="_CPPv2NK8migraphx8internal11instruction5validE15instruction_refb"></span><span id="migraphx::internal::instruction::valid__instruction_ref.bC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a6d0179720a65aa92e1e156dd6cabbe6d"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">valid</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">start</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">check_order</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction5validE15instruction_refb" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction5validEv">
<span id="_CPPv3NK8migraphx8internal11instruction5validEv"></span><span id="_CPPv2NK8migraphx8internal11instruction5validEv"></span><span id="migraphx::internal::instruction::validC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a868890b8ca50042d30b082fdb38e285e"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">valid</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction5validEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction9get_shapeEv">
<span id="_CPPv3NK8migraphx8internal11instruction9get_shapeEv"></span><span id="_CPPv2NK8migraphx8internal11instruction9get_shapeEv"></span><span id="migraphx::internal::instruction::get_shapeC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a61c849385fd298ac7f3a104f0097e979"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_shape</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction9get_shapeEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction11get_literalEv">
<span id="_CPPv3NK8migraphx8internal11instruction11get_literalEv"></span><span id="_CPPv2NK8migraphx8internal11instruction11get_literalEv"></span><span id="migraphx::internal::instruction::get_literalC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1abff64eb5ca7aee4ff0233d5c70b27553"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal7literalE" title="migraphx::internal::literal"><span class="n"><span class="pre">literal</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">get_literal</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction11get_literalEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction12get_operatorEv">
<span id="_CPPv3NK8migraphx8internal11instruction12get_operatorEv"></span><span id="_CPPv2NK8migraphx8internal11instruction12get_operatorEv"></span><span id="migraphx::internal::instruction::get_operatorC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a18a068ee8e828bb9093700d2373e0cc4"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="operators.html#_CPPv4N8migraphx8internal9operationE" title="migraphx::internal::operation"><span class="n"><span class="pre">operation</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">get_operator</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction12get_operatorEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction4nameEv">
<span id="_CPPv3NK8migraphx8internal11instruction4nameEv"></span><span id="_CPPv2NK8migraphx8internal11instruction4nameEv"></span><span id="migraphx::internal::instruction::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1ae26335ac2637f83668f681fcc9831d53"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction6inputsEv">
<span id="_CPPv3NK8migraphx8internal11instruction6inputsEv"></span><span id="_CPPv2NK8migraphx8internal11instruction6inputsEv"></span><span id="migraphx::internal::instruction::inputsC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a2cb9d4ab33b412548d3aa1995b91d865"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">inputs</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction6inputsEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction13module_inputsEv">
<span id="_CPPv3NK8migraphx8internal11instruction13module_inputsEv"></span><span id="_CPPv2NK8migraphx8internal11instruction13module_inputsEv"></span><span id="migraphx::internal::instruction::module_inputsC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a800a145847252eb001c9d533fbfc8cc1"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">module_ref</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">module_inputs</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction13module_inputsEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction7outputsEv">
<span id="_CPPv3NK8migraphx8internal11instruction7outputsEv"></span><span id="_CPPv2NK8migraphx8internal11instruction7outputsEv"></span><span id="migraphx::internal::instruction::outputsC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a98c521c5866eb3a8e7d0f960b1804bbc"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">outputs</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction7outputsEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction10add_outputE15instruction_ref">
<span id="_CPPv3N8migraphx8internal11instruction10add_outputE15instruction_ref"></span><span id="_CPPv2N8migraphx8internal11instruction10add_outputE15instruction_ref"></span><span id="migraphx::internal::instruction::add_output__instruction_ref"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1af3d38d8ca36cfeedce70581be2d09aae"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">add_output</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction10add_outputE15instruction_ref" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I0EN8migraphx8internal11instruction13remove_outputEvRK1T">
<span id="_CPPv3I0EN8migraphx8internal11instruction13remove_outputERK1T"></span><span id="_CPPv2I0EN8migraphx8internal11instruction13remove_outputERK1T"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">T</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="structmigraphx_1_1internal_1_1instruction_1af8eec1bc80b36dd657cdacdd94370ca0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">remove_output</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4I0EN8migraphx8internal11instruction13remove_outputEvRK1T" title="migraphx::internal::instruction::remove_output::T"><span class="n"><span class="pre">T</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ins</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4I0EN8migraphx8internal11instruction13remove_outputEvRK1T" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction8can_evalEv">
<span id="_CPPv3NK8migraphx8internal11instruction8can_evalEv"></span><span id="_CPPv2NK8migraphx8internal11instruction8can_evalEv"></span><span id="migraphx::internal::instruction::can_evalC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a2a9089c9488ccfa55cb3de675602a7a8"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">can_eval</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction8can_evalEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction4evalEb">
<span id="_CPPv3NK8migraphx8internal11instruction4evalEb"></span><span id="_CPPv2NK8migraphx8internal11instruction4evalEb"></span><span id="migraphx::internal::instruction::eval__bC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a144bbde1f7b6d861359245785ea72c38"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">eval</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">check_eval</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction4evalEb" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction8finalizeER7context">
<span id="_CPPv3N8migraphx8internal11instruction8finalizeER7context"></span><span id="_CPPv2N8migraphx8internal11instruction8finalizeER7context"></span><span id="migraphx::internal::instruction::finalize__contextR"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1ab6e972d598ad6e1be29378f3c663fc13"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">finalize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ctx</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction8finalizeER7context" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction14set_normalizedEb">
<span id="_CPPv3N8migraphx8internal11instruction14set_normalizedEb"></span><span id="_CPPv2N8migraphx8internal11instruction14set_normalizedEb"></span><span id="migraphx::internal::instruction::set_normalized__b"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a6ffb574856e0f1d8ecd734cec873ccf5"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_normalized</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">value</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction14set_normalizedEb" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction13is_normalizedEv">
<span id="_CPPv3NK8migraphx8internal11instruction13is_normalizedEv"></span><span id="_CPPv2NK8migraphx8internal11instruction13is_normalizedEv"></span><span id="migraphx::internal::instruction::is_normalizedC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a713d95560a2a9edaf397e93b9987fea3"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">is_normalized</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction13is_normalizedEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction18need_normalizationEv">
<span id="_CPPv3NK8migraphx8internal11instruction18need_normalizationEv"></span><span id="_CPPv2NK8migraphx8internal11instruction18need_normalizationEv"></span><span id="migraphx::internal::instruction::need_normalizationC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a6efb6261a8a1a79b2929d9d9bd3404c2"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">need_normalization</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction18need_normalizationEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction19normalized_operatorEv">
<span id="_CPPv3NK8migraphx8internal11instruction19normalized_operatorEv"></span><span id="_CPPv2NK8migraphx8internal11instruction19normalized_operatorEv"></span><span id="migraphx::internal::instruction::normalized_operatorC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1af63039ac35b6e650b8f80af55e50eb28"></span><a class="reference internal" href="operators.html#_CPPv4N8migraphx8internal9operationE" title="migraphx::internal::operation"><span class="n"><span class="pre">operation</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">normalized_operator</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction19normalized_operatorEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal11instruction11debug_printEv">
<span id="_CPPv3NK8migraphx8internal11instruction11debug_printEv"></span><span id="_CPPv2NK8migraphx8internal11instruction11debug_printEv"></span><span id="migraphx::internal::instruction::debug_printC"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1ab26441b991ae19f610f519595de65e1d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">debug_print</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal11instruction11debug_printEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction12replace_refsE15instruction_refRKNSt13unordered_mapI15instruction_ref15instruction_refEERKNSt13unordered_mapI10module_ref10module_refEE">
<span id="_CPPv3N8migraphx8internal11instruction12replace_refsE15instruction_refRKNSt13unordered_mapI15instruction_ref15instruction_refEERKNSt13unordered_mapI10module_ref10module_refEE"></span><span id="_CPPv2N8migraphx8internal11instruction12replace_refsE15instruction_refRKNSt13unordered_mapI15instruction_ref15instruction_refEERKNSt13unordered_mapI10module_ref10module_refEE"></span><span id="migraphx::internal::instruction::replace_refs__instruction_ref.std::unordered_map:instruction_ref.instruction_ref:CR.std::unordered_map:module_ref.module_ref:CR"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1abba7fa388adb0ab4ee368b1042afc874"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">replace_refs</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">map_insts</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">module_ref</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">module_ref</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">map_mods</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction12replace_refsE15instruction_refRKNSt13unordered_mapI15instruction_ref15instruction_refEERKNSt13unordered_mapI10module_ref10module_refEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction13backreferenceE15instruction_ref">
<span id="_CPPv3N8migraphx8internal11instruction13backreferenceE15instruction_ref"></span><span id="_CPPv2N8migraphx8internal11instruction13backreferenceE15instruction_ref"></span><span id="migraphx::internal::instruction::backreference__instruction_ref"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a6493f628841205561e7acda426a48d6a"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">backreference</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ref</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction13backreferenceE15instruction_ref" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction16replace_argumentE15instruction_ref15instruction_ref15instruction_ref">
<span id="_CPPv3N8migraphx8internal11instruction16replace_argumentE15instruction_ref15instruction_ref15instruction_ref"></span><span id="_CPPv2N8migraphx8internal11instruction16replace_argumentE15instruction_ref15instruction_ref15instruction_ref"></span><span id="migraphx::internal::instruction::replace_argument__instruction_ref.instruction_ref.instruction_ref"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a5963aeb4fa559151be651d2d2bd48e83"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">replace_argument</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span>, <a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">old</span></span>, <a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">new_ins</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction16replace_argumentE15instruction_ref15instruction_ref15instruction_ref" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction20replace_mod_argumentE15instruction_ref10module_ref10module_ref">
<span id="_CPPv3N8migraphx8internal11instruction20replace_mod_argumentE15instruction_ref10module_ref10module_ref"></span><span id="_CPPv2N8migraphx8internal11instruction20replace_mod_argumentE15instruction_ref10module_ref10module_ref"></span><span id="migraphx::internal::instruction::replace_mod_argument__instruction_ref.module_ref.module_ref"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1aea8a9144b3b27d692a31b30dec596a1d"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">replace_mod_argument</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span>, <span class="n"><span class="pre">module_ref</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">old</span></span>, <span class="n"><span class="pre">module_ref</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">new_mod</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction20replace_mod_argumentE15instruction_ref10module_ref10module_ref" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEE">
<span id="_CPPv3N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEE"></span><span id="_CPPv2N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEE"></span><span id="migraphx::internal::instruction::replace__instruction_ref.operation.shapeCR.std::vector:instruction_ref:"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a5c5e9c71e27a4a28a887e7e7be2fa94c"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">replace</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span>, <a class="reference internal" href="operators.html#_CPPv4N8migraphx8internal9operationE" title="migraphx::internal::operation"><span class="n"><span class="pre">operation</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">o</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">r</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE">
<span id="_CPPv3N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE"></span><span id="_CPPv2N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE"></span><span id="migraphx::internal::instruction::replace__instruction_ref.operation.shapeCR.std::vector:instruction_ref:.std::vector:module_ref:"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a829bce51b4a626a285df26e49c979de1"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">replace</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span>, <a class="reference internal" href="operators.html#_CPPv4N8migraphx8internal9operationE" title="migraphx::internal::operation"><span class="n"><span class="pre">operation</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">o</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">r</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">module_ref</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">module_args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction7replaceE15instruction_ref9operationRK5shapeNSt6vectorI15instruction_refEENSt6vectorI10module_refEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction16get_output_aliasE15instruction_refb">
<span id="_CPPv3N8migraphx8internal11instruction16get_output_aliasE15instruction_refb"></span><span id="_CPPv2N8migraphx8internal11instruction16get_output_aliasE15instruction_refb"></span><span id="migraphx::internal::instruction::get_output_alias__instruction_ref.b"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1aa7c42b2b8f4a8330a549e348cb063848"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_output_alias</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">shallow</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction16get_output_aliasE15instruction_refb" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal11instruction5printERNSt7ostreamE15instruction_refRKNSt13unordered_mapI15instruction_refNSt6stringEEE">
<span id="_CPPv3N8migraphx8internal11instruction5printERNSt7ostreamE15instruction_refRKNSt13unordered_mapI15instruction_refNSt6stringEEE"></span><span id="_CPPv2N8migraphx8internal11instruction5printERNSt7ostreamE15instruction_refRKNSt13unordered_mapI15instruction_refNSt6stringEEE"></span><span id="migraphx::internal::instruction::print__osR.instruction_ref.std::unordered_map:instruction_ref.ss:CR"></span><span class="target" id="structmigraphx_1_1internal_1_1instruction_1a2af5e0bad2c42f45bf23d0d6e670c3d2"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">print</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ostream</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">os</span></span>, <a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">names</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal11instruction5printERNSt7ostreamE15instruction_refRKNSt13unordered_mapI15instruction_refNSt6stringEEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-friends">Friends</p>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1instruction_1a47f080bdde0400fbfd79fddb7518568d"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator==</span> <span class="pre">(const</span> <span class="pre">instruction</span> <span class="pre">&amp;i,</span> <span class="pre">instruction_ref</span> <span class="pre">ref)</span></span></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1instruction_1a935bdd9d96525c6bde37642ebdb82059"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator==</span> <span class="pre">(const</span> <span class="pre">instruction</span> <span class="pre">&amp;x,</span> <span class="pre">const</span> <span class="pre">instruction</span> <span class="pre">&amp;y)</span></span></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1instruction_1ae4840290c6e526a67f7d5fa49b55d546"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator!=</span> <span class="pre">(const</span> <span class="pre">instruction</span> <span class="pre">&amp;x,</span> <span class="pre">const</span> <span class="pre">instruction</span> <span class="pre">&amp;y)</span></span></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1instruction_1a0a532917de9d65592f2e2d9f9ae0b3c4"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator==</span> <span class="pre">(instruction_ref</span> <span class="pre">ref,</span> <span class="pre">const</span> <span class="pre">instruction</span> <span class="pre">&amp;i)</span></span></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1instruction_1a856c08205f38b70087f49020b159b6c8"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator!=</span> <span class="pre">(const</span> <span class="pre">instruction</span> <span class="pre">&amp;i,</span> <span class="pre">instruction_ref</span> <span class="pre">ref)</span></span></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1instruction_1a16e8732f85adb71e06ef79cd58f4a12e"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator!=</span> <span class="pre">(instruction_ref</span> <span class="pre">ref,</span> <span class="pre">const</span> <span class="pre">instruction</span> <span class="pre">&amp;i)</span></span></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="instruction-ref">
<h2>instruction_ref<a class="headerlink" href="#instruction-ref" title="Permalink to this headline"></a></h2>
<dl class="cpp type">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal15instruction_refE">
<span id="_CPPv3N8migraphx8internal15instruction_refE"></span><span id="_CPPv2N8migraphx8internal15instruction_refE"></span><span id="migraphx::internal::instruction_ref"></span><span class="k"><span class="pre">type</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">instruction_ref</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal15instruction_refE" title="Permalink to this definition"></a><br /></dt>
<dd><p>References an instruction in the program.</p>
</dd></dl>
</section>
<section id="id1">
<h2>program<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7programE">
<span id="_CPPv3N8migraphx8internal7programE"></span><span id="_CPPv2N8migraphx8internal7programE"></span><span id="migraphx::internal::program"></span><span class="target" id="structmigraphx_1_1internal_1_1program"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">program</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal7programE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Stores the instruction stream. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program7programEv">
<span id="_CPPv3N8migraphx8internal7program7programEv"></span><span id="_CPPv2N8migraphx8internal7program7programEv"></span><span id="migraphx::internal::program::program"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a9cd15c12f6cdf283d3bd2b398bb587f0"></span><span class="sig-name descname"><span class="n"><span class="pre">program</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program7programEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program7programERR7program">
<span id="_CPPv3N8migraphx8internal7program7programERR7program"></span><span id="_CPPv2N8migraphx8internal7program7programERR7program"></span><span id="migraphx::internal::program::program__programRR"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1aa183990770ddf88cb1a7ec836c3695bf"></span><span class="sig-name descname"><span class="n"><span class="pre">program</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal7program7programERR7program" title="migraphx::internal::program::program"><span class="n"><span class="pre">program</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program7programERR7program" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program7programERK7program">
<span id="_CPPv3N8migraphx8internal7program7programERK7program"></span><span id="_CPPv2N8migraphx8internal7program7programERK7program"></span><span id="migraphx::internal::program::program__programCR"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a3f098aa248ef593aee8bb13a2445427d"></span><span class="sig-name descname"><span class="n"><span class="pre">program</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8migraphx8internal7program7programERK7program" title="migraphx::internal::program::program"><span class="n"><span class="pre">program</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program7programERK7program" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7programaSE7program">
<span id="_CPPv3N8migraphx8internal7programaSE7program"></span><span id="_CPPv2N8migraphx8internal7programaSE7program"></span><span id="migraphx::internal::program::assign-operator__program"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a3b276e7f342e3ebab7e2436f9f615db6"></span><a class="reference internal" href="#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">=</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7programaSE7program" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7programD0Ev">
<span id="_CPPv3N8migraphx8internal7programD0Ev"></span><span id="_CPPv2N8migraphx8internal7programD0Ev"></span><span id="migraphx::internal::program::~program"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a7866f8a6c1f9e53db264cfbde79ec29b"></span><span class="sig-name descname"><span class="n"><span class="pre">~program</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">noexcept</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal7programD0Ev" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program19get_parameter_namesEv">
<span id="_CPPv3NK8migraphx8internal7program19get_parameter_namesEv"></span><span id="_CPPv2NK8migraphx8internal7program19get_parameter_namesEv"></span><span id="migraphx::internal::program::get_parameter_namesC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ac928d598cdb2d7aca3d8f7d74f67f370"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_parameter_names</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program19get_parameter_namesEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program19get_parameter_shapeENSt6stringE">
<span id="_CPPv3NK8migraphx8internal7program19get_parameter_shapeENSt6stringE"></span><span id="_CPPv2NK8migraphx8internal7program19get_parameter_shapeENSt6stringE"></span><span id="migraphx::internal::program::get_parameter_shape__ssC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ae64918dfc43b1a679d4f99428d1fd8f3"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_parameter_shape</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program19get_parameter_shapeENSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program13get_parameterENSt6stringE">
<span id="_CPPv3NK8migraphx8internal7program13get_parameterENSt6stringE"></span><span id="_CPPv2NK8migraphx8internal7program13get_parameterENSt6stringE"></span><span id="migraphx::internal::program::get_parameter__ssC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a08fe434e1bacd917f216a52b0d84c679"></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_parameter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program13get_parameterENSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program20get_parameter_shapesEv">
<span id="_CPPv3NK8migraphx8internal7program20get_parameter_shapesEv"></span><span id="_CPPv2NK8migraphx8internal7program20get_parameter_shapesEv"></span><span id="migraphx::internal::program::get_parameter_shapesC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a864499d9b010abccd7dc8ee3102cbfe4"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_parameter_shapes</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program20get_parameter_shapesEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program4evalE13parameter_map">
<span id="_CPPv3NK8migraphx8internal7program4evalE13parameter_map"></span><span id="_CPPv2NK8migraphx8internal7program4evalE13parameter_map"></span><span id="migraphx::internal::program::eval__parameter_mapC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a6da73962ad9b1e962fff6329b2b32608"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">eval</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">parameter_map</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">params</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program4evalE13parameter_map" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program4sizeEv">
<span id="_CPPv3NK8migraphx8internal7program4sizeEv"></span><span id="_CPPv2NK8migraphx8internal7program4sizeEv"></span><span id="migraphx::internal::program::sizeC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1af43548a12d82597e9cee0aa21a8543b8"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program4sizeEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program17get_output_shapesEv">
<span id="_CPPv3NK8migraphx8internal7program17get_output_shapesEv"></span><span id="_CPPv2NK8migraphx8internal7program17get_output_shapesEv"></span><span id="migraphx::internal::program::get_output_shapesC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ad5a26b6e8c4494f33ff3a349ce3ebe44"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_output_shapes</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program17get_output_shapesEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program11get_contextEv">
<span id="_CPPv3NK8migraphx8internal7program11get_contextEv"></span><span id="_CPPv2NK8migraphx8internal7program11get_contextEv"></span><span id="migraphx::internal::program::get_contextC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a2d4b439ea0406ae41de6972d05be7614"></span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">get_context</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program11get_contextEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program8validateEv">
<span id="_CPPv3NK8migraphx8internal7program8validateEv"></span><span id="_CPPv2NK8migraphx8internal7program8validateEv"></span><span id="migraphx::internal::program::validateC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ad9a56d25797f21953f0ef82513e75306"></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">validate</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program8validateEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program7compileERK6target15compile_options">
<span id="_CPPv3N8migraphx8internal7program7compileERK6target15compile_options"></span><span id="_CPPv2N8migraphx8internal7program7compileERK6target15compile_options"></span><span id="migraphx::internal::program::compile__targetCR.compile_options"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a6698a77d83aa57709eb91ba5f05ace1d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">compile</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="targets.html#_CPPv4N8migraphx8internal6targetE" title="migraphx::internal::target"><span class="n"><span class="pre">target</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">t</span></span>, <span class="n"><span class="pre">compile_options</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">compile_options</span></span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program7compileERK6target15compile_options" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program11is_compiledEv">
<span id="_CPPv3NK8migraphx8internal7program11is_compiledEv"></span><span id="_CPPv2NK8migraphx8internal7program11is_compiledEv"></span><span id="migraphx::internal::program::is_compiledC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a95b51c22a2408fedff5edffa52fff544"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">is_compiled</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program11is_compiledEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program8finalizeEv">
<span id="_CPPv3N8migraphx8internal7program8finalizeEv"></span><span id="_CPPv2N8migraphx8internal7program8finalizeEv"></span><span id="migraphx::internal::program::finalize"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a73ae426a6ec5c091f10415d943bc8603"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">finalize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program8finalizeEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program11perf_reportERNSt7ostreamENSt6size_tE13parameter_mapNSt6size_tE">
<span id="_CPPv3NK8migraphx8internal7program11perf_reportERNSt7ostreamENSt6size_tE13parameter_mapNSt6size_tE"></span><span id="_CPPv2NK8migraphx8internal7program11perf_reportERNSt7ostreamENSt6size_tE13parameter_mapNSt6size_tE"></span><span id="migraphx::internal::program::perf_report__osR.std::s.parameter_map.std::sC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a7f1dd6cf3d63c2e1425718fe691501f8"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">perf_report</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ostream</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">os</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">n</span></span>, <span class="n"><span class="pre">parameter_map</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">params</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">batch</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program11perf_reportERNSt7ostreamENSt6size_tE13parameter_mapNSt6size_tE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program4markERK13parameter_mapRR6marker">
<span id="_CPPv3N8migraphx8internal7program4markERK13parameter_mapRR6marker"></span><span id="_CPPv2N8migraphx8internal7program4markERK13parameter_mapRR6marker"></span><span id="migraphx::internal::program::mark__parameter_mapCR.markerRR"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a432e2f3f223b17d2f36ba9dba4e100e8"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">mark</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">parameter_map</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">params</span></span>, <span class="n"><span class="pre">marker</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">m</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program4markERK13parameter_mapRR6marker" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program8to_valueEv">
<span id="_CPPv3NK8migraphx8internal7program8to_valueEv"></span><span id="_CPPv2NK8migraphx8internal7program8to_valueEv"></span><span id="migraphx::internal::program::to_valueC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1af48e5774c07a69a2aa169b47255c09f3"></span><span class="n"><span class="pre">value</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">to_value</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program8to_valueEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program10from_valueERK5value">
<span id="_CPPv3N8migraphx8internal7program10from_valueERK5value"></span><span id="_CPPv2N8migraphx8internal7program10from_valueERK5value"></span><span id="migraphx::internal::program::from_value__valueCR"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a434659d67be84626a8cf7f523331d1e6"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">from_value</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">value</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">v</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program10from_valueERK5value" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program11debug_printEv">
<span id="_CPPv3NK8migraphx8internal7program11debug_printEv"></span><span id="_CPPv2NK8migraphx8internal7program11debug_printEv"></span><span id="migraphx::internal::program::debug_printC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1aed7fbbfe9d9213e05890cff326e9bb3d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">debug_print</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program11debug_printEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program11debug_printE15instruction_ref">
<span id="_CPPv3NK8migraphx8internal7program11debug_printE15instruction_ref"></span><span id="_CPPv2NK8migraphx8internal7program11debug_printE15instruction_ref"></span><span id="migraphx::internal::program::debug_print__instruction_refC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ada1dcb98bb18f7c0f21c28e68091d408"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">debug_print</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">ins</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program11debug_printE15instruction_ref" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program5printERNSt13unordered_mapI15instruction_refNSt6stringEEERKNSt8functionIFv15instruction_refNSt13unordered_mapI15instruction_refNSt6stringEEEEEE">
<span id="_CPPv3NK8migraphx8internal7program5printERNSt13unordered_mapI15instruction_refNSt6stringEEERKNSt8functionIFv15instruction_refNSt13unordered_mapI15instruction_refNSt6stringEEEEEE"></span><span id="_CPPv2NK8migraphx8internal7program5printERNSt13unordered_mapI15instruction_refNSt6stringEEERKNSt8functionIFv15instruction_refNSt13unordered_mapI15instruction_refNSt6stringEEEEEE"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ac1e493f847eb4588b6af8dfcbffc228a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">print</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">names</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">function</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">void</span></span><span class="p"><span class="pre">(</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">print_func</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program5printERNSt13unordered_mapI15instruction_refNSt6stringEEERKNSt8functionIFv15instruction_refNSt13unordered_mapI15instruction_refNSt6stringEEEEEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program11print_graphERNSt7ostreamEb">
<span id="_CPPv3NK8migraphx8internal7program11print_graphERNSt7ostreamEb"></span><span id="_CPPv2NK8migraphx8internal7program11print_graphERNSt7ostreamEb"></span><span id="migraphx::internal::program::print_graph__osR.bC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1acb0480a035c77cd7f74d4f23446b84e3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">print_graph</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ostream</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">os</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">brief</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program11print_graphERNSt7ostreamEb" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program9print_cppERNSt7ostreamE">
<span id="_CPPv3NK8migraphx8internal7program9print_cppERNSt7ostreamE"></span><span id="_CPPv2NK8migraphx8internal7program9print_cppERNSt7ostreamE"></span><span id="migraphx::internal::program::print_cpp__osRC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1add4ba88780ed866fd0bf109420208299"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">print_cpp</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ostream</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">os</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program9print_cppERNSt7ostreamE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program7dry_runE13parameter_map">
<span id="_CPPv3NK8migraphx8internal7program7dry_runE13parameter_map"></span><span id="_CPPv2NK8migraphx8internal7program7dry_runE13parameter_map"></span><span id="migraphx::internal::program::dry_run__parameter_mapC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ad559c884019ce68fe27fb729738d47d2"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dry_run</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">parameter_map</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">params</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program7dry_runE13parameter_map" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program8annotateERNSt7ostreamERKNSt8functionIFv15instruction_refEEE">
<span id="_CPPv3NK8migraphx8internal7program8annotateERNSt7ostreamERKNSt8functionIFv15instruction_refEEE"></span><span id="_CPPv2NK8migraphx8internal7program8annotateERNSt7ostreamERKNSt8functionIFv15instruction_refEEE"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ab166b7a7675cef8fdba987f663ca40e7"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">annotate</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ostream</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">os</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">function</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">void</span></span><span class="p"><span class="pre">(</span></span><a class="reference internal" href="#_CPPv4N8migraphx8internal15instruction_refE" title="migraphx::internal::instruction_ref"><span class="n"><span class="pre">instruction_ref</span></span></a><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">a</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program8annotateERNSt7ostreamERKNSt8functionIFv15instruction_refEEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program4sortEv">
<span id="_CPPv3N8migraphx8internal7program4sortEv"></span><span id="_CPPv2N8migraphx8internal7program4sortEv"></span><span id="migraphx::internal::program::sort"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a2d4163e017569bd3090a97935d69b91e"></span><a class="reference internal" href="#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">sort</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program4sortEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program13create_moduleERKNSt6stringE">
<span id="_CPPv3N8migraphx8internal7program13create_moduleERKNSt6stringE"></span><span id="_CPPv2N8migraphx8internal7program13create_moduleERKNSt6stringE"></span><span id="migraphx::internal::program::create_module__ssCR"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a48ac961398b9a36a3d33a5ab57ff2d26"></span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">create_module</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program13create_moduleERKNSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program10get_moduleERKNSt6stringE">
<span id="_CPPv3N8migraphx8internal7program10get_moduleERKNSt6stringE"></span><span id="_CPPv2N8migraphx8internal7program10get_moduleERKNSt6stringE"></span><span id="migraphx::internal::program::get_module__ssCR"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a376cbfa5f88df0aee80a088525e91371"></span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">get_module</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program10get_moduleERKNSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program10get_moduleERKNSt6stringE">
<span id="_CPPv3NK8migraphx8internal7program10get_moduleERKNSt6stringE"></span><span id="_CPPv2NK8migraphx8internal7program10get_moduleERKNSt6stringE"></span><span id="migraphx::internal::program::get_module__ssCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a5118ca53d98a88a4181c3b29ce836ee9"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">get_module</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program10get_moduleERKNSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program15get_main_moduleEv">
<span id="_CPPv3N8migraphx8internal7program15get_main_moduleEv"></span><span id="_CPPv2N8migraphx8internal7program15get_main_moduleEv"></span><span id="migraphx::internal::program::get_main_module"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a11c02c9e7b137df3d409fdcbfae7a7a2"></span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">get_main_module</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program15get_main_moduleEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program15get_main_moduleEv">
<span id="_CPPv3NK8migraphx8internal7program15get_main_moduleEv"></span><span id="_CPPv2NK8migraphx8internal7program15get_main_moduleEv"></span><span id="migraphx::internal::program::get_main_moduleC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ac524a550e16cd116f8a1fa0c5b6886e7"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">module</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">get_main_module</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program15get_main_moduleEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal7program11get_modulesEv">
<span id="_CPPv3NK8migraphx8internal7program11get_modulesEv"></span><span id="_CPPv2NK8migraphx8internal7program11get_modulesEv"></span><span id="migraphx::internal::program::get_modulesC"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1ad514b886d96069008db7b8db0ec6f5d1"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">module</span></span><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_modules</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal7program11get_modulesEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program11get_modulesEv">
<span id="_CPPv3N8migraphx8internal7program11get_modulesEv"></span><span id="_CPPv2N8migraphx8internal7program11get_modulesEv"></span><span id="migraphx::internal::program::get_modules"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a660c5fb31cd3da4588ee0e813779d02a"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">module</span></span><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_modules</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program11get_modulesEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program13remove_moduleERKNSt6stringE">
<span id="_CPPv3N8migraphx8internal7program13remove_moduleERKNSt6stringE"></span><span id="_CPPv2N8migraphx8internal7program13remove_moduleERKNSt6stringE"></span><span id="migraphx::internal::program::remove_module__ssCR"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a1fc29c1be748403f08d5d72054c6048e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">remove_module</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program13remove_moduleERKNSt6stringE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal7program21remove_unused_modulesEv">
<span id="_CPPv3N8migraphx8internal7program21remove_unused_modulesEv"></span><span id="_CPPv2N8migraphx8internal7program21remove_unused_modulesEv"></span><span id="migraphx::internal::program::remove_unused_modules"></span><span class="target" id="structmigraphx_1_1internal_1_1program_1a6097d3e7d5aa7cbd32e0f61713c9edf0"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">remove_unused_modules</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal7program21remove_unused_modulesEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-friends">Friends</p>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1program_1ab073b77280800346e92e04bd9fd123f3"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">std::ostream</span> <span class="pre">&amp;</span> <span class="pre">operator&lt;&lt;</span> <span class="pre">(std::ostream</span> <span class="pre">&amp;os,</span> <span class="pre">const</span> <span class="pre">program</span> <span class="pre">&amp;p)</span></span></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1program_1ace5a43c105bd2dd9ad21453e4657bac9"></span><span class="sig-name descname"><span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator==</span> <span class="pre">(const</span> <span class="pre">program</span> <span class="pre">&amp;x,</span> <span class="pre">const</span> <span class="pre">program</span> <span class="pre">&amp;y)</span></span></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="structmigraphx_1_1internal_1_1program_1adb2a4209206db1ae6aeca00724bd6eaa"></span><span class="sig-name descname"><span class="pre">inline</span> <span class="pre">friend</span> <span class="pre">friend</span> <span class="pre">bool</span> <span class="pre">operator!=</span> <span class="pre">(const</span> <span class="pre">program</span> <span class="pre">&amp;x,</span> <span class="pre">const</span> <span class="pre">program</span> <span class="pre">&amp;y)</span></span></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="parse-onnx">
<h2>parse_onnx<a class="headerlink" href="#parse-onnx" title="Permalink to this headline"></a></h2>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal10parse_onnxERKNSt6stringERK12onnx_options">
<span id="_CPPv3N8migraphx8internal10parse_onnxERKNSt6stringERK12onnx_options"></span><span id="_CPPv2N8migraphx8internal10parse_onnxERKNSt6stringERK12onnx_options"></span><span id="migraphx::internal::parse_onnx__ssCR.onnx_optionsCR"></span><span class="target" id="namespacemigraphx_1_1internal_1a8e88259ac1569937b0d120ec1e15c369"></span><a class="reference internal" href="#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">parse_onnx</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8migraphx8internal12onnx_optionsE" title="migraphx::internal::onnx_options"><span class="n"><span class="pre">onnx_options</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8migraphx8internal12onnx_optionsE" title="migraphx::internal::onnx_options"><span class="n"><span class="pre">onnx_options</span></span></a><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal10parse_onnxERKNSt6stringERK12onnx_options" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a program from an onnx file. </p>
</dd></dl>
</section>
<section id="parse-tf">
<h2>parse_tf<a class="headerlink" href="#parse-tf" title="Permalink to this headline"></a></h2>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal8parse_tfERKNSt6stringERK10tf_options">
<span id="_CPPv3N8migraphx8internal8parse_tfERKNSt6stringERK10tf_options"></span><span id="_CPPv2N8migraphx8internal8parse_tfERKNSt6stringERK10tf_options"></span><span id="migraphx::internal::parse_tf__ssCR.tf_optionsCR"></span><span class="target" id="namespacemigraphx_1_1internal_1a6c286a1b083be2cbab419f54196f2bda"></span><a class="reference internal" href="#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">parse_tf</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">name</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8migraphx8internal10tf_optionsE" title="migraphx::internal::tf_options"><span class="n"><span class="pre">tf_options</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N8migraphx8internal10tf_optionsE" title="migraphx::internal::tf_options"><span class="n"><span class="pre">tf_options</span></span></a><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal8parse_tfERKNSt6stringERK10tf_options" title="Permalink to this definition"></a><br /></dt>
<dd><p>Create a program from a tf pb file (default is nhwc format) </p>
</dd></dl>
</section>
<section id="onnx-options">
<h2>onnx_options<a class="headerlink" href="#onnx-options" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal12onnx_optionsE">
<span id="_CPPv3N8migraphx8internal12onnx_optionsE"></span><span id="_CPPv2N8migraphx8internal12onnx_optionsE"></span><span id="migraphx::internal::onnx_options"></span><span class="target" id="structmigraphx_1_1internal_1_1onnx__options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">onnx_options</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal12onnx_optionsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>struct to pass in onnx options to parser </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal12onnx_options17default_dim_valueE">
<span id="_CPPv3N8migraphx8internal12onnx_options17default_dim_valueE"></span><span id="_CPPv2N8migraphx8internal12onnx_options17default_dim_valueE"></span><span id="migraphx::internal::onnx_options::default_dim_value__std::s"></span><span class="target" id="structmigraphx_1_1internal_1_1onnx__options_1a578fa95120997b49ac5bcd978780ae70"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">default_dim_value</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal12onnx_options17default_dim_valueE" title="Permalink to this definition"></a><br /></dt>
<dd><p>default batch size to use (if not specified in onnx file) </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal12onnx_options14map_input_dimsE">
<span id="_CPPv3N8migraphx8internal12onnx_options14map_input_dimsE"></span><span id="_CPPv2N8migraphx8internal12onnx_options14map_input_dimsE"></span><span id="migraphx::internal::onnx_options::map_input_dims__std::unordered_map:ss.std::vector:std::s::"></span><span class="target" id="structmigraphx_1_1internal_1_1onnx__options_1a5ad21183afe3f80f83dda923ba2decbe"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">size_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">map_input_dims</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal12onnx_options14map_input_dimsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Explicitly specify the dims of an input. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal12onnx_options22skip_unknown_operatorsE">
<span id="_CPPv3N8migraphx8internal12onnx_options22skip_unknown_operatorsE"></span><span id="_CPPv2N8migraphx8internal12onnx_options22skip_unknown_operatorsE"></span><span id="migraphx::internal::onnx_options::skip_unknown_operators__b"></span><span class="target" id="structmigraphx_1_1internal_1_1onnx__options_1afc797dec1bcaa0ace80a8bcc782a27c2"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">skip_unknown_operators</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal12onnx_options22skip_unknown_operatorsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Continue parsing onnx file if an unknown operator is found. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal12onnx_options22print_program_on_errorE">
<span id="_CPPv3N8migraphx8internal12onnx_options22print_program_on_errorE"></span><span id="_CPPv2N8migraphx8internal12onnx_options22print_program_on_errorE"></span><span id="migraphx::internal::onnx_options::print_program_on_error__b"></span><span class="target" id="structmigraphx_1_1internal_1_1onnx__options_1a2a0e836d9a7e35c199676715cd945eff"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">print_program_on_error</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal12onnx_options22print_program_on_errorE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Print program if an error occurs. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal12onnx_options19max_loop_iterationsE">
<span id="_CPPv3N8migraphx8internal12onnx_options19max_loop_iterationsE"></span><span id="_CPPv2N8migraphx8internal12onnx_options19max_loop_iterationsE"></span><span id="migraphx::internal::onnx_options::max_loop_iterations__int64_t"></span><span class="target" id="structmigraphx_1_1internal_1_1onnx__options_1aef6255dd2e607d572600d1d716d7939d"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">max_loop_iterations</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">10</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal12onnx_options19max_loop_iterationsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Max iter num for the loop operator. </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="tf-options">
<h2>tf_options<a class="headerlink" href="#tf-options" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal10tf_optionsE">
<span id="_CPPv3N8migraphx8internal10tf_optionsE"></span><span id="_CPPv2N8migraphx8internal10tf_optionsE"></span><span id="migraphx::internal::tf_options"></span><span class="target" id="structmigraphx_1_1internal_1_1tf__options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">tf_options</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal10tf_optionsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>struct to pass in tf options to parser </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal10tf_options7is_nhwcE">
<span id="_CPPv3N8migraphx8internal10tf_options7is_nhwcE"></span><span id="_CPPv2N8migraphx8internal10tf_options7is_nhwcE"></span><span id="migraphx::internal::tf_options::is_nhwc__b"></span><span class="target" id="structmigraphx_1_1internal_1_1tf__options_1a5915de345e1f5d71af0e0d8dc58fae83"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">is_nhwc</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal10tf_options7is_nhwcE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal10tf_options10batch_sizeE">
<span id="_CPPv3N8migraphx8internal10tf_options10batch_sizeE"></span><span id="_CPPv2N8migraphx8internal10tf_options10batch_sizeE"></span><span id="migraphx::internal::tf_options::batch_size__unsigned-i"></span><span class="target" id="structmigraphx_1_1internal_1_1tf__options_1ae005bd6cc52561ac265a7af79156b3fd"></span><span class="kt"><span class="pre">unsigned</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">batch_size</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal10tf_options10batch_sizeE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal10tf_options14map_input_dimsE">
<span id="_CPPv3N8migraphx8internal10tf_options14map_input_dimsE"></span><span id="_CPPv2N8migraphx8internal10tf_options14map_input_dimsE"></span><span id="migraphx::internal::tf_options::map_input_dims__std::unordered_map:ss.std::vector:std::s::"></span><span class="target" id="structmigraphx_1_1internal_1_1tf__options_1a7b77102437f90202d67cc0de9a213d0d"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">size_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">map_input_dims</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal10tf_options14map_input_dimsE" title="Permalink to this definition"></a><br /></dt>
<dd><p>Explicitly specify the dims of an input. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal10tf_options17output_node_namesE">
<span id="_CPPv3N8migraphx8internal10tf_options17output_node_namesE"></span><span id="_CPPv2N8migraphx8internal10tf_options17output_node_namesE"></span><span id="migraphx::internal::tf_options::output_node_names__std::vector:ss:"></span><span class="target" id="structmigraphx_1_1internal_1_1tf__options_1aa1242dbc9b9468737d63feecb8932884"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">output_node_names</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal10tf_options17output_node_namesE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="operators.html" class="btn btn-neutral float-left" title="Operators" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="targets.html" class="btn btn-neutral float-right" title="Targets" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Quantization &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Passes" href="pass.html" />
<link rel="prev" title="Targets" href="targets.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../dev_intro.html">MIGraphX Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="targets.html">Targets</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Quantization</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#quantize-fp16">quantize_fp16</a></li>
<li class="toctree-l3"><a class="reference internal" href="#quantize-int8">quantize_int8</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../contributor_guide.html">Contributor Guide</a> &raquo;</li>
<li>Quantization</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/dev/quantization.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="quantization">
<h1>Quantization<a class="headerlink" href="#quantization" title="Permalink to this headline"></a></h1>
<section id="quantize-fp16">
<h2>quantize_fp16<a class="headerlink" href="#quantize-fp16" title="Permalink to this headline"></a></h2>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal13quantize_fp16ER7programRKNSt6vectorINSt6stringEEE">
<span id="_CPPv3N8migraphx8internal13quantize_fp16ER7programRKNSt6vectorINSt6stringEEE"></span><span id="_CPPv2N8migraphx8internal13quantize_fp16ER7programRKNSt6vectorINSt6stringEEE"></span><span id="migraphx::internal::quantize_fp16__programR.std::vector:ss:CR"></span><span class="target" id="namespacemigraphx_1_1internal_1a3da28d9084091d7603e0c5ca571bc026"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">quantize_fp16</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="program.html#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">prog</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ins_names</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><s><span class="pre">&quot;all&quot;</span></s><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal13quantize_fp16ER7programRKNSt6vectorINSt6stringEEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</section>
<section id="quantize-int8">
<h2>quantize_int8<a class="headerlink" href="#quantize-int8" title="Permalink to this headline"></a></h2>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal13quantize_int8ER7programRK6targetRKNSt6vectorI13parameter_mapEERKNSt6vectorINSt6stringEEE">
<span id="_CPPv3N8migraphx8internal13quantize_int8ER7programRK6targetRKNSt6vectorI13parameter_mapEERKNSt6vectorINSt6stringEEE"></span><span id="_CPPv2N8migraphx8internal13quantize_int8ER7programRK6targetRKNSt6vectorI13parameter_mapEERKNSt6vectorINSt6stringEEE"></span><span id="migraphx::internal::quantize_int8__programR.targetCR.std::vector:parameter_map:CR.std::vector:ss:CR"></span><span class="target" id="namespacemigraphx_1_1internal_1a1bce2cbf7df6939443d7f2921fd4dba3"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">quantize_int8</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="program.html#_CPPv4N8migraphx8internal7programE" title="migraphx::internal::program"><span class="n"><span class="pre">program</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">prog</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="targets.html#_CPPv4N8migraphx8internal6targetE" title="migraphx::internal::target"><span class="n"><span class="pre">target</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">t</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">parameter_map</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">calibration</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ins_names</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><s><span class="pre">&quot;dot&quot;</span></s><span class="p"><span class="pre">,</span></span><span class="w"> </span><s><span class="pre">&quot;convolution&quot;</span></s><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N8migraphx8internal13quantize_int8ER7programRK6targetRKNSt6vectorI13parameter_mapEERKNSt6vectorINSt6stringEEE" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="targets.html" class="btn btn-neutral float-left" title="Targets" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="pass.html" class="btn btn-neutral float-right" title="Passes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Targets &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Quantization" href="quantization.html" />
<link rel="prev" title="Program" href="program.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../dev_intro.html">MIGraphX Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="program.html">Program</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Targets</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#target">target</a></li>
<li class="toctree-l3"><a class="reference internal" href="#gpu-target">gpu::target</a></li>
<li class="toctree-l3"><a class="reference internal" href="#cpu-target">cpu::target</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../contributor_guide.html">Contributor Guide</a> &raquo;</li>
<li>Targets</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/dev/targets.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="targets">
<h1>Targets<a class="headerlink" href="#targets" title="Permalink to this headline"></a></h1>
<section id="target">
<h2>target<a class="headerlink" href="#target" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal6targetE">
<span id="_CPPv3N8migraphx8internal6targetE"></span><span id="_CPPv2N8migraphx8internal6targetE"></span><span id="migraphx::internal::target"></span><span class="target" id="structmigraphx_1_1internal_1_1target"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">target</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal6targetE" title="Permalink to this definition"></a><br /></dt>
<dd><p>An interface for a compilation target. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal6target4nameEv">
<span id="_CPPv3NK8migraphx8internal6target4nameEv"></span><span id="_CPPv2NK8migraphx8internal6target4nameEv"></span><span id="migraphx::internal::target::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1target_1aee1c932a01b6923a9fd8e240988d913a"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal6target4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>A unique name used to identify the target. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal6target10get_passesER7contextRK15compile_options">
<span id="_CPPv3NK8migraphx8internal6target10get_passesER7contextRK15compile_options"></span><span id="_CPPv2NK8migraphx8internal6target10get_passesER7contextRK15compile_options"></span><span id="migraphx::internal::target::get_passes__contextR.compile_optionsCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1target_1a6b7cefa3934fe26bee020d1eb261e998"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="pass.html#_CPPv4N8migraphx8internal4passE" title="migraphx::internal::pass"><span class="n"><span class="pre">pass</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_passes</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ctx</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">compile_options</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal6target10get_passesER7contextRK15compile_options" title="Permalink to this definition"></a><br /></dt>
<dd><p>The transformation pass to be run during compilation. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>ctx</strong> – This is the target-dependent context that is created by <code class="docutils literal notranslate"><span class="pre">get_context</span></code> </p></li>
<li><p><strong>options</strong> – Compiling options passed in by the user </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The passes to be ran </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal6target11get_contextEv">
<span id="_CPPv3NK8migraphx8internal6target11get_contextEv"></span><span id="_CPPv2NK8migraphx8internal6target11get_contextEv"></span><span id="migraphx::internal::target::get_contextC"></span><span class="target" id="structmigraphx_1_1internal_1_1target_1a54b8dc7bbe69d5912a24b3ef78b26573"></span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_context</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal6target11get_contextEv" title="Permalink to this definition"></a><br /></dt>
<dd><p>Construct a context for the target. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The context to be used during compilation and execution. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal6target7copy_toERK8argument">
<span id="_CPPv3NK8migraphx8internal6target7copy_toERK8argument"></span><span id="_CPPv2NK8migraphx8internal6target7copy_toERK8argument"></span><span id="migraphx::internal::target::copy_to__argumentCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1target_1ad2a733cf7ceae39e0df9f4a675f2e195"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">copy_to</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arg</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal6target7copy_toERK8argument" title="Permalink to this definition"></a><br /></dt>
<dd><p>copy an argument to the current target. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>arg</strong> – Input argument to be copied to the target </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Argument in the target. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal6target9copy_fromERK8argument">
<span id="_CPPv3NK8migraphx8internal6target9copy_fromERK8argument"></span><span id="_CPPv2NK8migraphx8internal6target9copy_fromERK8argument"></span><span id="migraphx::internal::target::copy_from__argumentCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1target_1a55f3d244cab8dd98033ece8056be2163"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">copy_from</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arg</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal6target9copy_fromERK8argument" title="Permalink to this definition"></a><br /></dt>
<dd><p>copy an argument from the current target. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>arg</strong> – Input argument to be copied from the target </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Argument in the host. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal6target8allocateERK5shape">
<span id="_CPPv3NK8migraphx8internal6target8allocateERK5shape"></span><span id="_CPPv2NK8migraphx8internal6target8allocateERK5shape"></span><span id="migraphx::internal::target::allocate__shapeCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1target_1af2bee95e9c3f53557b44aac1700af9ae"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">allocate</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">s</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal6target8allocateERK5shape" title="Permalink to this definition"></a><br /></dt>
<dd><p>Allocate an argument based on the input shape. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>s</strong> – Shape of the argument to be allocated in the target </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Allocated argument in the target. </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="gpu-target">
<h2>gpu::target<a class="headerlink" href="#gpu-target" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal3gpu6targetE">
<span id="_CPPv3N8migraphx8internal3gpu6targetE"></span><span id="_CPPv2N8migraphx8internal3gpu6targetE"></span><span id="migraphx::internal::gpu::target"></span><span class="target" id="structmigraphx_1_1internal_1_1gpu_1_1target"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">gpu</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">target</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal3gpu6targetE" title="Permalink to this definition"></a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3gpu6target4nameEv">
<span id="_CPPv3NK8migraphx8internal3gpu6target4nameEv"></span><span id="_CPPv2NK8migraphx8internal3gpu6target4nameEv"></span><span id="migraphx::internal::gpu::target::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1gpu_1_1target_1a3c47ee73d927d0b458a6c1afe8ee2da1"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3gpu6target4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3gpu6target10get_passesERN8migraphx7contextERK15compile_options">
<span id="_CPPv3NK8migraphx8internal3gpu6target10get_passesERN8migraphx7contextERK15compile_options"></span><span id="_CPPv2NK8migraphx8internal3gpu6target10get_passesERN8migraphx7contextERK15compile_options"></span><span id="migraphx::internal::gpu::target::get_passes__migraphx::contextR.compile_optionsCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1gpu_1_1target_1aa84c68f1d5f4775167b85d79e74fb23b"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="pass.html#_CPPv4N8migraphx8internal4passE" title="migraphx::internal::pass"><span class="n"><span class="pre">pass</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_passes</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">gctx</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">compile_options</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3gpu6target10get_passesERN8migraphx7contextERK15compile_options" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3gpu6target11get_contextEv">
<span id="_CPPv3NK8migraphx8internal3gpu6target11get_contextEv"></span><span id="_CPPv2NK8migraphx8internal3gpu6target11get_contextEv"></span><span id="migraphx::internal::gpu::target::get_contextC"></span><span class="target" id="structmigraphx_1_1internal_1_1gpu_1_1target_1ad027aa7fbe9fedf93235d99662b8138f"></span><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_context</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3gpu6target11get_contextEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3gpu6target7copy_toERK8argument">
<span id="_CPPv3NK8migraphx8internal3gpu6target7copy_toERK8argument"></span><span id="_CPPv2NK8migraphx8internal3gpu6target7copy_toERK8argument"></span><span id="migraphx::internal::gpu::target::copy_to__argumentCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1gpu_1_1target_1a02ed018d7f1f2725f85990b6b01e2171"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">copy_to</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arg</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3gpu6target7copy_toERK8argument" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3gpu6target9copy_fromERK8argument">
<span id="_CPPv3NK8migraphx8internal3gpu6target9copy_fromERK8argument"></span><span id="_CPPv2NK8migraphx8internal3gpu6target9copy_fromERK8argument"></span><span id="migraphx::internal::gpu::target::copy_from__argumentCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1gpu_1_1target_1a8b7bc0067103f910442ccf003d3be899"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">copy_from</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arg</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3gpu6target9copy_fromERK8argument" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3gpu6target8allocateERK5shape">
<span id="_CPPv3NK8migraphx8internal3gpu6target8allocateERK5shape"></span><span id="_CPPv2NK8migraphx8internal3gpu6target8allocateERK5shape"></span><span id="migraphx::internal::gpu::target::allocate__shapeCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1gpu_1_1target_1ad0d5babb9556637e3fbbdda665d1e28e"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">allocate</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">s</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3gpu6target8allocateERK5shape" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
<section id="cpu-target">
<h2>cpu::target<a class="headerlink" href="#cpu-target" title="Permalink to this headline"></a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N8migraphx8internal3cpu6targetE">
<span id="_CPPv3N8migraphx8internal3cpu6targetE"></span><span id="_CPPv2N8migraphx8internal3cpu6targetE"></span><span id="migraphx::internal::cpu::target"></span><span class="target" id="structmigraphx_1_1internal_1_1cpu_1_1target"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">cpu</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">target</span></span></span><a class="headerlink" href="#_CPPv4N8migraphx8internal3cpu6targetE" title="Permalink to this definition"></a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3cpu6target4nameEv">
<span id="_CPPv3NK8migraphx8internal3cpu6target4nameEv"></span><span id="_CPPv2NK8migraphx8internal3cpu6target4nameEv"></span><span id="migraphx::internal::cpu::target::nameC"></span><span class="target" id="structmigraphx_1_1internal_1_1cpu_1_1target_1ae13abab8d7274bf6d61d1c69b2cd4273"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">name</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3cpu6target4nameEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3cpu6target10get_passesERN8migraphx7contextERK15compile_options">
<span id="_CPPv3NK8migraphx8internal3cpu6target10get_passesERN8migraphx7contextERK15compile_options"></span><span id="_CPPv2NK8migraphx8internal3cpu6target10get_passesERN8migraphx7contextERK15compile_options"></span><span id="migraphx::internal::cpu::target::get_passes__migraphx::contextR.compile_optionsCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1cpu_1_1target_1a6d7395a4987d51bc50b71179e8464f5a"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="pass.html#_CPPv4N8migraphx8internal4passE" title="migraphx::internal::pass"><span class="n"><span class="pre">pass</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_passes</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">gctx</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">compile_options</span></span><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3cpu6target10get_passesERN8migraphx7contextERK15compile_options" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3cpu6target11get_contextEv">
<span id="_CPPv3NK8migraphx8internal3cpu6target11get_contextEv"></span><span id="_CPPv2NK8migraphx8internal3cpu6target11get_contextEv"></span><span id="migraphx::internal::cpu::target::get_contextC"></span><span class="target" id="structmigraphx_1_1internal_1_1cpu_1_1target_1a10c9b7b47bfcc819b02ad612c747b608"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">migraphx</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">context</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">get_context</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3cpu6target11get_contextEv" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3cpu6target7copy_toERK8argument">
<span id="_CPPv3NK8migraphx8internal3cpu6target7copy_toERK8argument"></span><span id="_CPPv2NK8migraphx8internal3cpu6target7copy_toERK8argument"></span><span id="migraphx::internal::cpu::target::copy_to__argumentCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1cpu_1_1target_1a03c75d3333e5b48f403e048fc5b88d74"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">copy_to</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arg</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3cpu6target7copy_toERK8argument" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3cpu6target9copy_fromERK8argument">
<span id="_CPPv3NK8migraphx8internal3cpu6target9copy_fromERK8argument"></span><span id="_CPPv2NK8migraphx8internal3cpu6target9copy_fromERK8argument"></span><span id="migraphx::internal::cpu::target::copy_from__argumentCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1cpu_1_1target_1a7dd44c5fd3f9bcb00edac22a5903b50f"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">copy_from</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arg</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3cpu6target9copy_fromERK8argument" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK8migraphx8internal3cpu6target8allocateERK5shape">
<span id="_CPPv3NK8migraphx8internal3cpu6target8allocateERK5shape"></span><span id="_CPPv2NK8migraphx8internal3cpu6target8allocateERK5shape"></span><span id="migraphx::internal::cpu::target::allocate__shapeCRC"></span><span class="target" id="structmigraphx_1_1internal_1_1cpu_1_1target_1ab7f468203cee87f9f3e2a7f76e0c1d3d"></span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal8argumentE" title="migraphx::internal::argument"><span class="n"><span class="pre">argument</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">allocate</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="data.html#_CPPv4N8migraphx8internal5shapeE" title="migraphx::internal::shape"><span class="n"><span class="pre">shape</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">s</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK8migraphx8internal3cpu6target8allocateERK5shape" title="Permalink to this definition"></a><br /></dt>
<dd></dd></dl>
</div>
</dd></dl>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="program.html" class="btn btn-neutral float-left" title="Program" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="quantization.html" class="btn btn-neutral float-right" title="Quantization" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tools &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="prev" title="Matchers" href="matchers.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../dev_intro.html">MIGraphX Fundamentals</a></li>
<li class="toctree-l2"><a class="reference internal" href="data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="matchers.html">Matchers</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#roctx-py">roctx.py</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../contributor_guide.html">Contributor Guide</a> &raquo;</li>
<li>Tools</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/dev/tools.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="tools">
<h1>Tools<a class="headerlink" href="#tools" title="Permalink to this headline"></a></h1>
<section id="roctx-py">
<h2>roctx.py<a class="headerlink" href="#roctx-py" title="Permalink to this headline"></a></h2>
<p>MIGraphX driver provides <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">roctx</span></code> command which can be used with <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">rocprof</span></code> binary to get marker timing information for each MIGraphX operator.
In order to help user to process timing information, rocTX helper script is provided at <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">tools/roctx.py</span></code>.
The <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">roctx.py</span></code> helper script provides two main functionality: <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">run</span></code> and <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">parse</span></code>. Available knobs and usage are given below:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="nl">Usage</span><span class="p">:</span><span class="w"> </span><span class="n">roctx</span><span class="p">.</span><span class="n">py</span><span class="w"> </span><span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="o">--</span><span class="n">json</span><span class="o">-</span><span class="n">path</span><span class="w"> </span><span class="n">json_path</span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="o">--</span><span class="n">out</span><span class="w"> </span><span class="n">out</span><span class="p">]</span><span class="w"></span>
<span class="p">[</span><span class="o">--</span><span class="n">study</span><span class="o">-</span><span class="n">name</span><span class="w"> </span><span class="n">study</span><span class="o">-</span><span class="n">name</span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="o">--</span><span class="n">repeat</span><span class="w"> </span><span class="n">repeat</span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="o">--</span><span class="n">parse</span><span class="p">]</span><span class="w"></span>
<span class="p">[</span><span class="o">--</span><span class="n">run</span><span class="w"> </span><span class="n">run</span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="o">--</span><span class="n">debug</span><span class="p">]</span><span class="w"></span>
</pre></div>
</div>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-run">
<span class="sig-name descname"><span class="pre">--run</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-run" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Runs <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">migraphx-driver</span> <span class="pre">roctx</span></code> command and given <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">migraphx-driver</span></code> knobs, and then parses the results, providing GPU kernel timing information.
MIGraphX knobs can be given via a string to <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">--run</span></code> knob. Please see the examples below.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-parse">
<span class="sig-name descname"><span class="pre">--parse</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-parse" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Given <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">--json-path</span></code>, parses JSON file and provides GPU kernel timing information.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-out">
<span class="sig-name descname"><span class="pre">--out</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-out" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output folder</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-study-name">
<span class="sig-name descname"><span class="pre">--study-name</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-study-name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optional. Allows user to name a study for easier interpretation. Defaults to timestamp.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-repeat">
<span class="sig-name descname"><span class="pre">--repeat</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-repeat" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Number of iterations. Set to <strong>2</strong> by default.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Provides additional debug information related to data. Only use for debugging purposes.</p>
<p><strong>Examples:</strong></p>
<p><strong>Running inference with rocTX for a given ONNX file:</strong></p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span>python roctx.py --run &#39;--onnx --gpu fcn-resnet50-11.onnx&#39; --out output_folder --repeat 5
</pre></div>
</div>
<p>After a run, similar to output given below is expected at terminal. The output will provide <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">SUM</span></code>, <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MIN</span></code>, <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MAX</span></code> and <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">COUNT</span></code> information for each kernel executed for a given model.
Average total time is also provided. There are three files provided for reference:</p>
<ol class="arabic simple">
<li><p><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">OUTPUT</span> <span class="pre">CSV</span> <span class="pre">FILE</span></code> provides a summary of the run, providing utilized MIGraphX knobs and related kernel timing information</p></li>
<li><p><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">KERNEL</span> <span class="pre">TIMING</span> <span class="pre">DETAILS</span></code> provides the hotspot kernel timing information</p></li>
<li><p>This will provide all output data related to all iterations executed during a run.</p></li>
</ol>
<p>An example output:</p>
<img alt="../_images/roctx1.jpg" src="../_images/roctx1.jpg" />
<p>Hotspot kerel timing information:</p>
<img alt="../_images/roctx2.jpg" src="../_images/roctx2.jpg" />
<p><strong>Parsing an already existing JSON file:</strong></p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">python</span><span class="w"> </span><span class="n">roctx</span><span class="p">.</span><span class="n">py</span><span class="w"> </span><span class="o">--</span><span class="n">parse</span><span class="w"> </span><span class="o">--</span><span class="n">json</span><span class="o">-</span><span class="n">path</span><span class="w"> </span><span class="p">..</span><span class="o">/</span><span class="n">trace</span><span class="p">.</span><span class="n">json</span><span class="w"></span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="matchers.html" class="btn btn-neutral float-left" title="Matchers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MIGraphX Fundamentals &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Data types" href="dev/data.html" />
<link rel="prev" title="Contributor Guide" href="contributor_guide.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="contributor_guide.html">Contributor Guide</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">MIGraphX Fundamentals</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#location-of-the-examples">Location of the Examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="#adding-two-literals">Adding Two Literals</a></li>
<li class="toctree-l3"><a class="reference internal" href="#using-parameters">Using Parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="#handling-tensor-data">Handling Tensor Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="#importing-from-onnx">Importing From ONNX</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="contributor_guide.html">Contributor Guide</a> &raquo;</li>
<li>MIGraphX Fundamentals</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/dev_intro.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="migraphx-fundamentals">
<h1>MIGraphX Fundamentals<a class="headerlink" href="#migraphx-fundamentals" title="Permalink to this headline"></a></h1>
<p>MIGraphX provides an optimized execution engine for deep learning neural networks.
We will cover some simple operations in the MIGraphX framework here.
For a quick start guide to using MIGraphX, look in the examples directory: <code class="docutils literal notranslate"><span class="pre">https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/tree/develop/examples/migraphx</span></code>.</p>
<section id="location-of-the-examples">
<h2>Location of the Examples<a class="headerlink" href="#location-of-the-examples" title="Permalink to this headline"></a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">ref_dev_examples.cpp</span></code> can be found in the test directory (<code class="docutils literal notranslate"><span class="pre">/test</span></code>).
The executable file <code class="docutils literal notranslate"><span class="pre">test_ref_dev_examples</span></code> based on this file will be created in the <code class="docutils literal notranslate"><span class="pre">bin/</span></code> of the build directory after running <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">-j$(nproc)</span> <span class="pre">test_ref_dev_examples</span></code>.
The executable will also be created when running <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">-j$(nproc)</span> <span class="pre">check</span></code>, alongside with all the other tests.
Directions for building MIGraphX from source can be found in the main README file: <code class="docutils literal notranslate"><span class="pre">https://github.com/ROCmSoftwarePlatform/AMDMIGraphX#readme</span></code>.</p>
</section>
<section id="adding-two-literals">
<h2>Adding Two Literals<a class="headerlink" href="#adding-two-literals" title="Permalink to this headline"></a></h2>
<p>A program is a collection of modules, which are collections of instructions to be executed when calling <a class="reference internal" href="reference/cpp.html#_CPPv4NK8migraphx7program4evalERK18program_parameters" title="migraphx::program::eval"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">eval</span></code></a>.
Each instruction has an associated <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">operation</span></code> which represents the computation to be performed by the instruction.</p>
<p>We start with a snippet of the simple <code class="docutils literal notranslate"><span class="pre">add_two_literals()</span></code> function:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// create the program and get a pointer to the main module</span>
<span class="n">migraphx</span><span class="o">::</span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="p">;</span><span class="w"></span>
<span class="k">auto</span><span class="o">*</span><span class="w"> </span><span class="n">mm</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">get_main_module</span><span class="p">();</span><span class="w"></span>
<span class="c1">// add two literals to the program</span>
<span class="k">auto</span><span class="w"> </span><span class="n">one</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_literal</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span><span class="w"></span>
<span class="k">auto</span><span class="w"> </span><span class="n">two</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_literal</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span><span class="w"></span>
<span class="c1">// make the add operation between the two literals and add it to the program</span>
<span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_instruction</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">make_op</span><span class="p">(</span><span class="s">&quot;add&quot;</span><span class="p">),</span><span class="w"> </span><span class="n">one</span><span class="p">,</span><span class="w"> </span><span class="n">two</span><span class="p">);</span><span class="w"></span>
<span class="c1">// compile the program on the reference device</span>
<span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">ref</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
<span class="c1">// evaulate the program and retreive the result</span>
<span class="k">auto</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">eval</span><span class="p">({}).</span><span class="n">back</span><span class="p">();</span><span class="w"></span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;add_two_literals: 1 + 2 = &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
<p>We start by creating a simple <code class="docutils literal notranslate"><span class="pre">migraphx::program</span></code> object and then getting a pointer to the main module of it.
The program is a collection of <code class="docutils literal notranslate"><span class="pre">modules</span></code> that start executing from the main module, so instructions are added to the modules rather than directly onto the program object.
We then use the <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">add_literal</span></code> function to add an instruction that stores the literal number <code class="docutils literal notranslate"><span class="pre">1</span></code> while returning an <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">instruction_ref</span></code>.
The returned <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">instruction_ref</span></code> can be used in another instruction as an input.
We use the same <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">add_literal</span></code> function to add a <code class="docutils literal notranslate"><span class="pre">2</span></code> to the program.
After creating the literals, we then create the instruction to add the numbers together.
This is done by using the <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">add_instruction</span></code> function with the <code class="docutils literal notranslate"><span class="pre">&quot;add&quot;</span></code> <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">operation</span></code> created by <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">make_op</span></code> along with the previous <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">add_literal</span></code> <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">instruction_ref</span></code> for the input arguments of the instruction.
Finally, we can run this <a class="reference internal" href="reference/cpp.html#_CPPv4N8migraphx7programE" title="migraphx::program"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">program</span></code></a> by compiling it for the reference target (CPU) and then running it with <a class="reference internal" href="reference/cpp.html#_CPPv4NK8migraphx7program4evalERK18program_parameters" title="migraphx::program::eval"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">eval</span></code></a>
The result is then retreived and printed to the console.</p>
<p>We can compile the program for the GPU as well, but the file will have to be moved to the <code class="docutils literal notranslate"><span class="pre">test/gpu/</span></code> directory and the correct target must be included:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;migraphx/gpu/target.hpp&gt;</span><span class="cp"></span>
</pre></div>
</div>
</section>
<section id="using-parameters">
<h2>Using Parameters<a class="headerlink" href="#using-parameters" title="Permalink to this headline"></a></h2>
<p>The previous program will always produce the same value of adding <code class="docutils literal notranslate"><span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">2</span></code>.
In the next program we want to pass an input to a program and compute a value based on the input.
We can modify the program to take an input parameter <code class="docutils literal notranslate"><span class="pre">x</span></code>, as seen in the <code class="docutils literal notranslate"><span class="pre">add_parameter()</span></code> function:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">migraphx</span><span class="o">::</span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="p">;</span><span class="w"></span>
<span class="k">auto</span><span class="o">*</span><span class="w"> </span><span class="n">mm</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">get_main_module</span><span class="p">();</span><span class="w"></span>
<span class="n">migraphx</span><span class="o">::</span><span class="n">shape</span><span class="w"> </span><span class="n">s</span><span class="p">{</span><span class="n">migraphx</span><span class="o">::</span><span class="n">shape</span><span class="o">::</span><span class="n">int32_type</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">}};</span><span class="w"></span>
<span class="c1">// add a &quot;x&quot; parameter with the shape s</span>
<span class="k">auto</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_parameter</span><span class="p">(</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">s</span><span class="p">);</span><span class="w"></span>
<span class="k">auto</span><span class="w"> </span><span class="n">two</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_literal</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span><span class="w"></span>
<span class="c1">// add the &quot;add&quot; instruction between the &quot;x&quot; parameter and &quot;two&quot; to the module</span>
<span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_instruction</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">make_op</span><span class="p">(</span><span class="s">&quot;add&quot;</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">two</span><span class="p">);</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">ref</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
</pre></div>
</div>
<p>This adds a parameter of type <code class="docutils literal notranslate"><span class="pre">int32</span></code>, and compiles it for the CPU.
To run the program, we need to pass the parameter as a <code class="docutils literal notranslate"><span class="pre">parameter_map</span></code> when we call <a class="reference internal" href="reference/cpp.html#_CPPv4NK8migraphx7program4evalERK18program_parameters" title="migraphx::program::eval"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">eval</span></code></a>.
We create the <code class="docutils literal notranslate"><span class="pre">parameter_map</span></code> by setting the <code class="docutils literal notranslate"><span class="pre">x</span></code> key to an <a class="reference internal" href="reference/cpp.html#_CPPv4N8migraphx8argumentE" title="migraphx::argument"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">argument</span></code></a> object with an <code class="docutils literal notranslate"><span class="pre">int</span></code> data type:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// create a parameter_map object for passing a value to the &quot;x&quot; parameter</span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="w"> </span><span class="n">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="mi">4</span><span class="p">};</span><span class="w"></span>
<span class="n">migraphx</span><span class="o">::</span><span class="n">parameter_map</span><span class="w"> </span><span class="n">params</span><span class="p">;</span><span class="w"></span>
<span class="n">params</span><span class="p">[</span><span class="s">&quot;x&quot;</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">migraphx</span><span class="o">::</span><span class="n">argument</span><span class="p">(</span><span class="n">s</span><span class="p">,</span><span class="w"> </span><span class="n">data</span><span class="p">.</span><span class="n">data</span><span class="p">());</span><span class="w"></span>
<span class="k">auto</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">eval</span><span class="p">(</span><span class="n">params</span><span class="p">).</span><span class="n">back</span><span class="p">();</span><span class="w"></span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;add_parameters: 4 + 2 = &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">;</span><span class="w"></span>
<span class="n">EXPECT</span><span class="p">(</span><span class="n">result</span><span class="p">.</span><span class="n">at</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">()</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">6</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
</section>
<section id="handling-tensor-data">
<h2>Handling Tensor Data<a class="headerlink" href="#handling-tensor-data" title="Permalink to this headline"></a></h2>
<p>In the previous examples we have only been dealing with scalars, but the <a class="reference internal" href="reference/cpp.html#_CPPv4N8migraphx5shapeE" title="migraphx::shape"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">shape</span></code></a> class can describe multi-dimensional tensors.
For example, we can compute a simple convolution:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">migraphx</span><span class="o">::</span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="p">;</span><span class="w"></span>
<span class="k">auto</span><span class="o">*</span><span class="w"> </span><span class="n">mm</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">get_main_module</span><span class="p">();</span><span class="w"></span>
<span class="c1">// create shape objects for the input tensor and weights</span>
<span class="n">migraphx</span><span class="o">::</span><span class="n">shape</span><span class="w"> </span><span class="n">input_shape</span><span class="p">{</span><span class="n">migraphx</span><span class="o">::</span><span class="n">shape</span><span class="o">::</span><span class="n">float_type</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">}};</span><span class="w"></span>
<span class="n">migraphx</span><span class="o">::</span><span class="n">shape</span><span class="w"> </span><span class="n">weights_shape</span><span class="p">{</span><span class="n">migraphx</span><span class="o">::</span><span class="n">shape</span><span class="o">::</span><span class="n">float_type</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">}};</span><span class="w"></span>
<span class="c1">// create the parameters and add the &quot;convolution&quot; operation to the module</span>
<span class="k">auto</span><span class="w"> </span><span class="n">input</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_parameter</span><span class="p">(</span><span class="s">&quot;X&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">input_shape</span><span class="p">);</span><span class="w"></span>
<span class="k">auto</span><span class="w"> </span><span class="n">weights</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_parameter</span><span class="p">(</span><span class="s">&quot;W&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">weights_shape</span><span class="p">);</span><span class="w"></span>
<span class="n">mm</span><span class="o">-&gt;</span><span class="n">add_instruction</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">make_op</span><span class="p">(</span><span class="s">&quot;convolution&quot;</span><span class="p">,</span><span class="w"> </span><span class="p">{{</span><span class="s">&quot;padding&quot;</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">}},</span><span class="w"> </span><span class="p">{</span><span class="s">&quot;stride&quot;</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">}}}),</span><span class="w"> </span><span class="n">input</span><span class="p">,</span><span class="w"> </span><span class="n">weights</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Here we create two parameters for both the <code class="docutils literal notranslate"><span class="pre">input</span></code> and <code class="docutils literal notranslate"><span class="pre">weights</span></code>.
In the previous examples, we created simple literals, however, most programs will take data from allocated buffers (usually on the GPU).
In this case, we can create <a class="reference internal" href="reference/cpp.html#_CPPv4N8migraphx8argumentE" title="migraphx::argument"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">argument</span></code></a> objects directly from the pointers to the buffers:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// Compile the program</span>
<span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">ref</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
<span class="c1">// Allocated buffers by the user</span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">...;</span><span class="w"></span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">...;</span><span class="w"></span>
<span class="c1">// Solution vector</span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="w"> </span><span class="n">sol</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">...;</span><span class="w"></span>
<span class="c1">// Create the arguments in a parameter_map</span>
<span class="n">migraphx</span><span class="o">::</span><span class="n">parameter_map</span><span class="w"> </span><span class="n">params</span><span class="p">;</span><span class="w"></span>
<span class="n">params</span><span class="p">[</span><span class="s">&quot;X&quot;</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">migraphx</span><span class="o">::</span><span class="n">argument</span><span class="p">(</span><span class="n">input_shape</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">.</span><span class="n">data</span><span class="p">());</span><span class="w"></span>
<span class="n">params</span><span class="p">[</span><span class="s">&quot;W&quot;</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">migraphx</span><span class="o">::</span><span class="n">argument</span><span class="p">(</span><span class="n">weights_shape</span><span class="p">,</span><span class="w"> </span><span class="n">c</span><span class="p">.</span><span class="n">data</span><span class="p">());</span><span class="w"></span>
<span class="c1">// Evaluate and confirm the result</span>
<span class="k">auto</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">eval</span><span class="p">(</span><span class="n">params</span><span class="p">).</span><span class="n">back</span><span class="p">();</span><span class="w"></span>
<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="w"> </span><span class="n">results_vector</span><span class="p">(</span><span class="mi">64</span><span class="p">);</span><span class="w"></span>
<span class="n">result</span><span class="p">.</span><span class="n">visit</span><span class="p">([</span><span class="o">&amp;</span><span class="p">](</span><span class="k">auto</span><span class="w"> </span><span class="n">output</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">results_vector</span><span class="p">.</span><span class="n">assign</span><span class="p">(</span><span class="n">output</span><span class="p">.</span><span class="n">begin</span><span class="p">(),</span><span class="w"> </span><span class="n">output</span><span class="p">.</span><span class="n">end</span><span class="p">());</span><span class="w"> </span><span class="p">});</span><span class="w"></span>
<span class="n">EXPECT</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">verify_range</span><span class="p">(</span><span class="n">results_vector</span><span class="p">,</span><span class="w"> </span><span class="n">sol</span><span class="p">));</span><span class="w"></span>
</pre></div>
</div>
<p>An <a class="reference internal" href="reference/cpp.html#_CPPv4N8migraphx8argumentE" title="migraphx::argument"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">argument</span></code></a> can handle memory buffers from either the GPU or the CPU.
By default when running the <a class="reference internal" href="reference/cpp.html#_CPPv4N8migraphx7programE" title="migraphx::program"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">program</span></code></a>, buffers are allocated on the corresponding target.
When compiling for the CPU, the buffers by default will be allocated on the CPU.
When compiling for the GPU, the buffers by default will be allocated on the GPU.
With the option <code class="docutils literal notranslate"><span class="pre">offloaf_copy=true</span></code> set while compiling for the GPU, the buffers will be located on the CPU.</p>
</section>
<section id="importing-from-onnx">
<h2>Importing From ONNX<a class="headerlink" href="#importing-from-onnx" title="Permalink to this headline"></a></h2>
<p>A <a class="reference internal" href="reference/cpp.html#_CPPv4N8migraphx7programE" title="migraphx::program"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">program</span></code></a> can be built directly from an onnx file using the MIGraphX ONNX parser.
This makes it easier to use neural networks directly from other frameworks.
In this case, there is an <code class="docutils literal notranslate"><span class="pre">parse_onnx</span></code> function:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">migraphx</span><span class="o">::</span><span class="n">parse_onnx</span><span class="p">(</span><span class="s">&quot;model.onnx&quot;</span><span class="p">);</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">migraphx</span><span class="o">::</span><span class="n">gpu</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="contributor_guide.html" class="btn btn-neutral float-left" title="Contributor Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="dev/data.html" class="btn btn-neutral float-right" title="Data types" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Developer Guide &mdash; MIGraphX 2.2 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Overview" href="overview.html" />
<link rel="prev" title="MIGraphX Driver" href="driver.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.2
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Developer Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>Developer Guide</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/developer_guide.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="developer-guide">
<h1>Developer Guide<a class="headerlink" href="#developer-guide" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="overview.html#building-a-program">Building a program</a></li>
<li class="toctree-l2"><a class="reference internal" href="overview.html#adding-parameters">Adding parameters</a></li>
<li class="toctree-l2"><a class="reference internal" href="overview.html#tensor-data">Tensor data</a></li>
<li class="toctree-l2"><a class="reference internal" href="overview.html#importing-from-onnx">Importing from onnx</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/data.html">Data types</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#shape">shape</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#literal">literal</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#argument">argument</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#raw-data">raw_data</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html#tensor-view">tensor_view</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/operators.html">Operators</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html#operation">operation</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html#id1">operators</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/program.html">Program</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#instruction">instruction</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#instruction-ref">instruction_ref</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#id1">program</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#parse-onnx">parse_onnx</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#parse-tf">parse_tf</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#onnx-options">onnx_options</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html#tf-options">tf_options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/targets.html">Targets</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html#target">target</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html#gpu-target">gpu::target</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html#cpu-target">cpu::target</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/quantization.html">Quantization</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html#quantize-fp16">quantize_fp16</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html#quantize-int8">quantize_int8</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/pass.html">Passes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#pass">pass</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#dead-code-elimination">dead_code_elimination</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-common-subexpression">eliminate_common_subexpression</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-concat">eliminate_concat</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-contiguous">eliminate_contiguous</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-identity">eliminate_identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#eliminate-pad">eliminate_pad</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#propagate-constant">propagate_constant</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#rewrite-batchnorm">rewrite_batchnorm</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#rewrite-rnn">rewrite_rnn</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#schedule">schedule</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#simplify-algebra">simplify_algebra</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html#simplify-reshapes">simplify_reshapes</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/matchers.html">Matchers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#arguments">Arguments</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#binding">Binding</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#finding-matches">Finding matches</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html#creating-matchers">Creating matchers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="dev/tools.html">Tools</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev/tools.html#roctx-py">roctx.py</a></li>
</ul>
</li>
</ul>
</div>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="driver.html" class="btn btn-neutral float-left" title="MIGraphX Driver" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="overview.html" class="btn btn-neutral float-right" title="Overview" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MIGraphX Driver &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Contributor Guide" href="contributor_guide.html" />
<link rel="prev" title="C++ Reference" href="reference/cpp.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">MIGraphX Driver</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#read">read</a></li>
<li class="toctree-l2"><a class="reference internal" href="#compile">compile</a></li>
<li class="toctree-l2"><a class="reference internal" href="#run">run</a></li>
<li class="toctree-l2"><a class="reference internal" href="#perf">perf</a></li>
<li class="toctree-l2"><a class="reference internal" href="#verify">verify</a></li>
<li class="toctree-l2"><a class="reference internal" href="#roctx">roctx</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributor_guide.html">Contributor Guide</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>MIGraphX Driver</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/driver.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="migraphx-driver">
<h1>MIGraphX Driver<a class="headerlink" href="#migraphx-driver" title="Permalink to this headline"></a></h1>
<section id="read">
<h2>read<a class="headerlink" href="#read" title="Permalink to this headline"></a></h2>
<p>Loads and prints input graph.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-arg-input">
<span class="sig-name descname"><span class="pre">&lt;input</span></span><span class="sig-prename descclassname"> <span class="pre">file&gt;</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-arg-input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>File to load</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-model">
<span class="sig-name descname"><span class="pre">--model</span></span><span class="sig-prename descclassname"> <span class="pre">[resnet50|inceptionv3|alexnet]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-onnx">
<span class="sig-name descname"><span class="pre">--onnx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-onnx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as onnx</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-tf">
<span class="sig-name descname"><span class="pre">--tf</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-tf" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as tensorflow</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-migraphx">
<span class="sig-name descname"><span class="pre">--migraphx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-migraphx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-migraphx-json">
<span class="sig-name descname"><span class="pre">--migraphx-json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-migraphx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX JSON</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-batch">
<span class="sig-name descname"><span class="pre">--batch</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span> <span class="pre">(Default:</span> <span class="pre">1)</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-batch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Set batch size for model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-nhwc">
<span class="sig-name descname"><span class="pre">--nhwc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-nhwc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nhwc</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-skip-unknown-operators">
<span class="sig-name descname"><span class="pre">--skip-unknown-operators</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-skip-unknown-operators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Skip unknown operators when parsing and continue to parse.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-nchw">
<span class="sig-name descname"><span class="pre">--nchw</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-nchw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nchw</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-trim">
<span id="cmdoption-migraphx-driver-read-t"></span><span class="sig-name descname"><span class="pre">--trim</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-t</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-trim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Trim instructions from the end (Default: 0)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-input-dim">
<span class="sig-name descname"><span class="pre">--input-dim</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-input-dim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Dim of a parameter (format: “&#64;name d1 d2 dn”)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-optimize">
<span id="cmdoption-migraphx-driver-read-O"></span><span id="cmdoption-migraphx-driver-read-o"></span><span class="sig-name descname"><span class="pre">--optimize</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-O</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-optimize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optimize when reading</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-graphviz">
<span id="cmdoption-migraphx-driver-read-g"></span><span class="sig-name descname"><span class="pre">--graphviz</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-g</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-graphviz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out a graphviz representation.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-brief">
<span class="sig-name descname"><span class="pre">--brief</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-brief" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Make the output brief.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-cpp">
<span class="sig-name descname"><span class="pre">--cpp</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-cpp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out the program as cpp program.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-json">
<span class="sig-name descname"><span class="pre">--json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program as json.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-text">
<span class="sig-name descname"><span class="pre">--text</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in text format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-binary">
<span class="sig-name descname"><span class="pre">--binary</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-binary" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in binary format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-read-output">
<span id="cmdoption-migraphx-driver-read-0"></span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[std::string]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-read-output" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output to file.</p>
</section>
<section id="compile">
<h2>compile<a class="headerlink" href="#compile" title="Permalink to this headline"></a></h2>
<p>Compiles and prints input graph.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-arg-input">
<span class="sig-name descname"><span class="pre">&lt;input</span></span><span class="sig-prename descclassname"> <span class="pre">file&gt;</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-arg-input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>File to load</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-model">
<span class="sig-name descname"><span class="pre">--model</span></span><span class="sig-prename descclassname"> <span class="pre">[resnet50|inceptionv3|alexnet]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-onnx">
<span class="sig-name descname"><span class="pre">--onnx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-onnx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as onnx</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-tf">
<span class="sig-name descname"><span class="pre">--tf</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-tf" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as tensorflow</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-migraphx">
<span class="sig-name descname"><span class="pre">--migraphx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-migraphx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-migraphx-json">
<span class="sig-name descname"><span class="pre">--migraphx-json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-migraphx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX JSON</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-batch">
<span class="sig-name descname"><span class="pre">--batch</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span> <span class="pre">(Default:</span> <span class="pre">1)</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-batch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Set batch size for model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-nhwc">
<span class="sig-name descname"><span class="pre">--nhwc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-nhwc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nhwc</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-skip-unknown-operators">
<span class="sig-name descname"><span class="pre">--skip-unknown-operators</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-skip-unknown-operators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Skip unknown operators when parsing and continue to parse.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-nchw">
<span class="sig-name descname"><span class="pre">--nchw</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-nchw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nchw</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-trim">
<span id="cmdoption-migraphx-driver-compile-t"></span><span class="sig-name descname"><span class="pre">--trim</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-t</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-trim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Trim instructions from the end (Default: 0)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-input-dim">
<span class="sig-name descname"><span class="pre">--input-dim</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-input-dim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Dim of a parameter (format: “&#64;name d1 d2 dn”)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-optimize">
<span id="cmdoption-migraphx-driver-compile-O"></span><span id="cmdoption-migraphx-driver-compile-o"></span><span class="sig-name descname"><span class="pre">--optimize</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-O</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-optimize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optimize when reading</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-graphviz">
<span id="cmdoption-migraphx-driver-compile-g"></span><span class="sig-name descname"><span class="pre">--graphviz</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-g</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-graphviz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out a graphviz representation.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-brief">
<span class="sig-name descname"><span class="pre">--brief</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-brief" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Make the output brief.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-cpp">
<span class="sig-name descname"><span class="pre">--cpp</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-cpp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out the program as cpp program.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-json">
<span class="sig-name descname"><span class="pre">--json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program as json.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-text">
<span class="sig-name descname"><span class="pre">--text</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in text format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-binary">
<span class="sig-name descname"><span class="pre">--binary</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-binary" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in binary format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-output">
<span id="cmdoption-migraphx-driver-compile-0"></span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[std::string]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-output" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output to file.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-fill0">
<span class="sig-name descname"><span class="pre">--fill0</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-fill0" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 0s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-fill1">
<span class="sig-name descname"><span class="pre">--fill1</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-fill1" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 1s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-gpu">
<span class="sig-name descname"><span class="pre">--gpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-gpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the gpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-cpu">
<span class="sig-name descname"><span class="pre">--cpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-cpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the cpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-ref">
<span class="sig-name descname"><span class="pre">--ref</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-ref" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the reference implementation</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-enable-offload-copy">
<span class="sig-name descname"><span class="pre">--enable-offload-copy</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-enable-offload-copy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Enable implicit offload copying</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-disable-fast-math">
<span class="sig-name descname"><span class="pre">--disable-fast-math</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-disable-fast-math" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Disable fast math optimization</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-fp16">
<span class="sig-name descname"><span class="pre">--fp16</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-fp16" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for fp16</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-compile-int8">
<span class="sig-name descname"><span class="pre">--int8</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-compile-int8" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for int8</p>
</section>
<section id="run">
<h2>run<a class="headerlink" href="#run" title="Permalink to this headline"></a></h2>
<p>Loads and prints input graph.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-arg-input">
<span class="sig-name descname"><span class="pre">&lt;input</span></span><span class="sig-prename descclassname"> <span class="pre">file&gt;</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-arg-input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>File to load</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-model">
<span class="sig-name descname"><span class="pre">--model</span></span><span class="sig-prename descclassname"> <span class="pre">[resnet50|inceptionv3|alexnet]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-onnx">
<span class="sig-name descname"><span class="pre">--onnx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-onnx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as onnx</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-tf">
<span class="sig-name descname"><span class="pre">--tf</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-tf" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as tensorflow</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-migraphx">
<span class="sig-name descname"><span class="pre">--migraphx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-migraphx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-migraphx-json">
<span class="sig-name descname"><span class="pre">--migraphx-json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-migraphx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX JSON</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-batch">
<span class="sig-name descname"><span class="pre">--batch</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span> <span class="pre">(Default:</span> <span class="pre">1)</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-batch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Set batch size for model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-nhwc">
<span class="sig-name descname"><span class="pre">--nhwc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-nhwc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nhwc</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-skip-unknown-operators">
<span class="sig-name descname"><span class="pre">--skip-unknown-operators</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-skip-unknown-operators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Skip unknown operators when parsing and continue to parse.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-nchw">
<span class="sig-name descname"><span class="pre">--nchw</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-nchw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nchw</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-trim">
<span id="cmdoption-migraphx-driver-run-t"></span><span class="sig-name descname"><span class="pre">--trim</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-t</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-trim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Trim instructions from the end (Default: 0)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-input-dim">
<span class="sig-name descname"><span class="pre">--input-dim</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-input-dim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Dim of a parameter (format: “&#64;name d1 d2 dn”)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-optimize">
<span id="cmdoption-migraphx-driver-run-O"></span><span id="cmdoption-migraphx-driver-run-o"></span><span class="sig-name descname"><span class="pre">--optimize</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-O</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-optimize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optimize when reading</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-graphviz">
<span id="cmdoption-migraphx-driver-run-g"></span><span class="sig-name descname"><span class="pre">--graphviz</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-g</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-graphviz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out a graphviz representation.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-brief">
<span class="sig-name descname"><span class="pre">--brief</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-brief" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Make the output brief.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-cpp">
<span class="sig-name descname"><span class="pre">--cpp</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-cpp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out the program as cpp program.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-json">
<span class="sig-name descname"><span class="pre">--json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program as json.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-text">
<span class="sig-name descname"><span class="pre">--text</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in text format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-binary">
<span class="sig-name descname"><span class="pre">--binary</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-binary" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in binary format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-output">
<span id="cmdoption-migraphx-driver-run-0"></span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[std::string]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-output" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output to file.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-fill0">
<span class="sig-name descname"><span class="pre">--fill0</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-fill0" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 0s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-fill1">
<span class="sig-name descname"><span class="pre">--fill1</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-fill1" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 1s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-gpu">
<span class="sig-name descname"><span class="pre">--gpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-gpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the gpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-cpu">
<span class="sig-name descname"><span class="pre">--cpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-cpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the cpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-ref">
<span class="sig-name descname"><span class="pre">--ref</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-ref" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the reference implementation</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-enable-offload-copy">
<span class="sig-name descname"><span class="pre">--enable-offload-copy</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-enable-offload-copy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Enable implicit offload copying</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-disable-fast-math">
<span class="sig-name descname"><span class="pre">--disable-fast-math</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-disable-fast-math" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Disable fast math optimization</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-fp16">
<span class="sig-name descname"><span class="pre">--fp16</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-fp16" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for fp16</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-run-int8">
<span class="sig-name descname"><span class="pre">--int8</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-run-int8" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for int8</p>
</section>
<section id="perf">
<h2>perf<a class="headerlink" href="#perf" title="Permalink to this headline"></a></h2>
<p>Compiles and runs input graph then prints performance report.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-arg-input">
<span class="sig-name descname"><span class="pre">&lt;input</span></span><span class="sig-prename descclassname"> <span class="pre">file&gt;</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-arg-input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>File to load</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-model">
<span class="sig-name descname"><span class="pre">--model</span></span><span class="sig-prename descclassname"> <span class="pre">[resnet50|inceptionv3|alexnet]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-onnx">
<span class="sig-name descname"><span class="pre">--onnx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-onnx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as onnx</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-tf">
<span class="sig-name descname"><span class="pre">--tf</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-tf" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as tensorflow</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-migraphx">
<span class="sig-name descname"><span class="pre">--migraphx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-migraphx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-migraphx-json">
<span class="sig-name descname"><span class="pre">--migraphx-json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-migraphx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX JSON</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-batch">
<span class="sig-name descname"><span class="pre">--batch</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span> <span class="pre">(Default:</span> <span class="pre">1)</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-batch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Set batch size for model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-nhwc">
<span class="sig-name descname"><span class="pre">--nhwc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-nhwc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nhwc</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-skip-unknown-operators">
<span class="sig-name descname"><span class="pre">--skip-unknown-operators</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-skip-unknown-operators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Skip unknown operators when parsing and continue to parse.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-nchw">
<span class="sig-name descname"><span class="pre">--nchw</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-nchw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nchw</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-trim">
<span id="cmdoption-migraphx-driver-perf-t"></span><span class="sig-name descname"><span class="pre">--trim</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-t</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-trim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Trim instructions from the end (Default: 0)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-input-dim">
<span class="sig-name descname"><span class="pre">--input-dim</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-input-dim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Dim of a parameter (format: “&#64;name d1 d2 dn”)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-optimize">
<span id="cmdoption-migraphx-driver-perf-O"></span><span id="cmdoption-migraphx-driver-perf-o"></span><span class="sig-name descname"><span class="pre">--optimize</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-O</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-optimize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optimize when reading</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-graphviz">
<span id="cmdoption-migraphx-driver-perf-g"></span><span class="sig-name descname"><span class="pre">--graphviz</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-g</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-graphviz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out a graphviz representation.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-brief">
<span class="sig-name descname"><span class="pre">--brief</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-brief" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Make the output brief.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-cpp">
<span class="sig-name descname"><span class="pre">--cpp</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-cpp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out the program as cpp program.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-json">
<span class="sig-name descname"><span class="pre">--json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program as json.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-text">
<span class="sig-name descname"><span class="pre">--text</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in text format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-binary">
<span class="sig-name descname"><span class="pre">--binary</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-binary" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in binary format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-output">
<span id="cmdoption-migraphx-driver-perf-0"></span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[std::string]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-output" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output to file.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-fill0">
<span class="sig-name descname"><span class="pre">--fill0</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-fill0" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 0s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-fill1">
<span class="sig-name descname"><span class="pre">--fill1</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-fill1" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 1s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-gpu">
<span class="sig-name descname"><span class="pre">--gpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-gpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the gpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-cpu">
<span class="sig-name descname"><span class="pre">--cpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-cpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the cpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-ref">
<span class="sig-name descname"><span class="pre">--ref</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-ref" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the reference implementation</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-enable-offload-copy">
<span class="sig-name descname"><span class="pre">--enable-offload-copy</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-enable-offload-copy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Enable implicit offload copying</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-disable-fast-math">
<span class="sig-name descname"><span class="pre">--disable-fast-math</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-disable-fast-math" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Disable fast math optimization</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-fp16">
<span class="sig-name descname"><span class="pre">--fp16</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-fp16" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for fp16</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-int8">
<span class="sig-name descname"><span class="pre">--int8</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-int8" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for int8</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-perf-iterations">
<span id="cmdoption-migraphx-driver-perf-n"></span><span class="sig-name descname"><span class="pre">--iterations</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-n</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-perf-iterations" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Number of iterations to run for perf report (Default: 100)</p>
</section>
<section id="verify">
<h2>verify<a class="headerlink" href="#verify" title="Permalink to this headline"></a></h2>
<p>Runs reference and CPU or GPU implementations and checks outputs for consistency.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-arg-input">
<span class="sig-name descname"><span class="pre">&lt;input</span></span><span class="sig-prename descclassname"> <span class="pre">file&gt;</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-arg-input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>File to load</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-model">
<span class="sig-name descname"><span class="pre">--model</span></span><span class="sig-prename descclassname"> <span class="pre">[resnet50|inceptionv3|alexnet]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-onnx">
<span class="sig-name descname"><span class="pre">--onnx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-onnx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as onnx</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-tf">
<span class="sig-name descname"><span class="pre">--tf</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-tf" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as tensorflow</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-migraphx">
<span class="sig-name descname"><span class="pre">--migraphx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-migraphx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-migraphx-json">
<span class="sig-name descname"><span class="pre">--migraphx-json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-migraphx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX JSON</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-batch">
<span class="sig-name descname"><span class="pre">--batch</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span> <span class="pre">(Default:</span> <span class="pre">1)</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-batch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Set batch size for model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-nhwc">
<span class="sig-name descname"><span class="pre">--nhwc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-nhwc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nhwc</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-skip-unknown-operators">
<span class="sig-name descname"><span class="pre">--skip-unknown-operators</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-skip-unknown-operators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Skip unknown operators when parsing and continue to parse.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-nchw">
<span class="sig-name descname"><span class="pre">--nchw</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-nchw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nchw</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-trim">
<span id="cmdoption-migraphx-driver-verify-t"></span><span class="sig-name descname"><span class="pre">--trim</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-t</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-trim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Trim instructions from the end (Default: 0)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-input-dim">
<span class="sig-name descname"><span class="pre">--input-dim</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-input-dim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Dim of a parameter (format: “&#64;name d1 d2 dn”)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-optimize">
<span id="cmdoption-migraphx-driver-verify-O"></span><span id="cmdoption-migraphx-driver-verify-o"></span><span class="sig-name descname"><span class="pre">--optimize</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-O</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-optimize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optimize when reading</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-graphviz">
<span id="cmdoption-migraphx-driver-verify-g"></span><span class="sig-name descname"><span class="pre">--graphviz</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-g</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-graphviz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out a graphviz representation.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-brief">
<span class="sig-name descname"><span class="pre">--brief</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-brief" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Make the output brief.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-cpp">
<span class="sig-name descname"><span class="pre">--cpp</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-cpp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out the program as cpp program.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-json">
<span class="sig-name descname"><span class="pre">--json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program as json.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-text">
<span class="sig-name descname"><span class="pre">--text</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in text format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-binary">
<span class="sig-name descname"><span class="pre">--binary</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-binary" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in binary format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-output">
<span id="cmdoption-migraphx-driver-verify-0"></span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[std::string]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-output" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output to file.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-fill0">
<span class="sig-name descname"><span class="pre">--fill0</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-fill0" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 0s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-fill1">
<span class="sig-name descname"><span class="pre">--fill1</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-fill1" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 1s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-gpu">
<span class="sig-name descname"><span class="pre">--gpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-gpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the gpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-cpu">
<span class="sig-name descname"><span class="pre">--cpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-cpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the cpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-ref">
<span class="sig-name descname"><span class="pre">--ref</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-ref" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the reference implementation</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-enable-offload-copy">
<span class="sig-name descname"><span class="pre">--enable-offload-copy</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-enable-offload-copy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Enable implicit offload copying</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-disable-fast-math">
<span class="sig-name descname"><span class="pre">--disable-fast-math</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-disable-fast-math" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Disable fast math optimization</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-fp16">
<span class="sig-name descname"><span class="pre">--fp16</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-fp16" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for fp16</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-int8">
<span class="sig-name descname"><span class="pre">--int8</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-int8" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for int8</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-tolerance">
<span class="sig-name descname"><span class="pre">--tolerance</span></span><span class="sig-prename descclassname"> <span class="pre">[double]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-tolerance" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Tolerance for errors (Default: 80)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-i">
<span id="cmdoption-migraphx-driver-verify-per-instruction"></span><span class="sig-name descname"><span class="pre">-i</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--per-instruction</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-i" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Verify each instruction</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-verify-r">
<span id="cmdoption-migraphx-driver-verify-reduce"></span><span class="sig-name descname"><span class="pre">-r</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--reduce</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-verify-r" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Reduce program and verify</p>
</section>
<section id="roctx">
<h2>roctx<a class="headerlink" href="#roctx" title="Permalink to this headline"></a></h2>
<p>Provides marker information for each operation, allowing MIGraphX to be used with <a class="reference external" href="https://rocmdocs.amd.com/en/latest/ROCm_Tools/ROCm-Tools.html">rocprof</a> for performance analysis.
This allows user to get GPU-level kernel timing information.
An example command line combined with rocprof for tracing purposes is given below:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>/opt/rocm/bin/rocprof --hip-trace --roctx-trace --flush-rate 1ms --timestamp on -d &lt;OUTPUT_PATH&gt; --obj-tracking on /opt/rocm/bin/migraphx-driver roctx &lt;ONNX_FILE&gt; &lt;MIGRAPHX_OPTIONS&gt;
</pre></div>
</div>
<p>After <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">rocprof</span></code> is run, the output directory will contain trace information for HIP, HCC and ROCTX in seperate <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">.txt</span></code> files.
To understand the interactions between API calls, it is recommended to utilize <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">roctx.py</span></code> helper script as desribed in <span class="xref std std-ref">dev/tools:rocTX</span> section.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-arg-input">
<span class="sig-name descname"><span class="pre">&lt;input</span></span><span class="sig-prename descclassname"> <span class="pre">file&gt;</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-arg-input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>File to load</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-model">
<span class="sig-name descname"><span class="pre">--model</span></span><span class="sig-prename descclassname"> <span class="pre">[resnet50|inceptionv3|alexnet]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-onnx">
<span class="sig-name descname"><span class="pre">--onnx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-onnx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as onnx</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-tf">
<span class="sig-name descname"><span class="pre">--tf</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-tf" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as tensorflow</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-migraphx">
<span class="sig-name descname"><span class="pre">--migraphx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-migraphx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-migraphx-json">
<span class="sig-name descname"><span class="pre">--migraphx-json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-migraphx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX JSON</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-batch">
<span class="sig-name descname"><span class="pre">--batch</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span> <span class="pre">(Default:</span> <span class="pre">1)</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-batch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Set batch size for model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-nhwc">
<span class="sig-name descname"><span class="pre">--nhwc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-nhwc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nhwc</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-skip-unknown-operators">
<span class="sig-name descname"><span class="pre">--skip-unknown-operators</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-skip-unknown-operators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Skip unknown operators when parsing and continue to parse.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-nchw">
<span class="sig-name descname"><span class="pre">--nchw</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-nchw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nchw</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-trim">
<span id="cmdoption-migraphx-driver-roctx-t"></span><span class="sig-name descname"><span class="pre">--trim</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-t</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-trim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Trim instructions from the end (Default: 0)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-input-dim">
<span class="sig-name descname"><span class="pre">--input-dim</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-input-dim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Dim of a parameter (format: “&#64;name d1 d2 dn”)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-optimize">
<span id="cmdoption-migraphx-driver-roctx-O"></span><span id="cmdoption-migraphx-driver-roctx-o"></span><span class="sig-name descname"><span class="pre">--optimize</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-O</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-optimize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optimize when reading</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-graphviz">
<span id="cmdoption-migraphx-driver-roctx-g"></span><span class="sig-name descname"><span class="pre">--graphviz</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-g</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-graphviz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out a graphviz representation.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-brief">
<span class="sig-name descname"><span class="pre">--brief</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-brief" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Make the output brief.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-cpp">
<span class="sig-name descname"><span class="pre">--cpp</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-cpp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out the program as cpp program.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-json">
<span class="sig-name descname"><span class="pre">--json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program as json.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-text">
<span class="sig-name descname"><span class="pre">--text</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in text format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-binary">
<span class="sig-name descname"><span class="pre">--binary</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-binary" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in binary format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-output">
<span id="cmdoption-migraphx-driver-roctx-0"></span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[std::string]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-output" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output to file.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-fill0">
<span class="sig-name descname"><span class="pre">--fill0</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-fill0" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 0s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-fill1">
<span class="sig-name descname"><span class="pre">--fill1</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-fill1" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 1s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-gpu">
<span class="sig-name descname"><span class="pre">--gpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-gpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the gpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-cpu">
<span class="sig-name descname"><span class="pre">--cpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-cpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the cpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-ref">
<span class="sig-name descname"><span class="pre">--ref</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-ref" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the reference implementation</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-enable-offload-copy">
<span class="sig-name descname"><span class="pre">--enable-offload-copy</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-enable-offload-copy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Enable implicit offload copying</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-disable-fast-math">
<span class="sig-name descname"><span class="pre">--disable-fast-math</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-disable-fast-math" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Disable fast math optimization</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-fp16">
<span class="sig-name descname"><span class="pre">--fp16</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-fp16" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for fp16</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-driver-roctx-int8">
<span class="sig-name descname"><span class="pre">--int8</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-driver-roctx-int8" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for int8</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="reference/cpp.html" class="btn btn-neutral float-left" title="C++ Reference" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="contributor_guide.html" class="btn btn-neutral float-right" title="Contributor Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>&lt;no title&gt; &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>&lt;no title&gt;</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/driver/compile.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-fill0">
<span class="sig-name descname"><span class="pre">--fill0</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-fill0" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 0s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-fill1">
<span class="sig-name descname"><span class="pre">--fill1</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-fill1" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Fill parameter with 1s</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-gpu">
<span class="sig-name descname"><span class="pre">--gpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-gpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the gpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-cpu">
<span class="sig-name descname"><span class="pre">--cpu</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-cpu" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the cpu</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-ref">
<span class="sig-name descname"><span class="pre">--ref</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-ref" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Compile on the reference implementation</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-enable-offload-copy">
<span class="sig-name descname"><span class="pre">--enable-offload-copy</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-offload-copy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Enable implicit offload copying</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-disable-fast-math">
<span class="sig-name descname"><span class="pre">--disable-fast-math</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-disable-fast-math" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Disable fast math optimization</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-fp16">
<span class="sig-name descname"><span class="pre">--fp16</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-fp16" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for fp16</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-int8">
<span class="sig-name descname"><span class="pre">--int8</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-int8" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Quantize for int8</p>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>&lt;no title&gt; &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributor_guide.html">Contributor Guide</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>&lt;no title&gt;</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/driver/read.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-arg-input">
<span class="sig-name descname"><span class="pre">&lt;input</span></span><span class="sig-prename descclassname"> <span class="pre">file&gt;</span></span><a class="headerlink" href="#cmdoption-arg-input" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>File to load</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-model">
<span class="sig-name descname"><span class="pre">--model</span></span><span class="sig-prename descclassname"> <span class="pre">[resnet50|inceptionv3|alexnet]</span></span><a class="headerlink" href="#cmdoption-model" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-onnx">
<span class="sig-name descname"><span class="pre">--onnx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-onnx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as onnx</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-tf">
<span class="sig-name descname"><span class="pre">--tf</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-tf" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as tensorflow</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx">
<span class="sig-name descname"><span class="pre">--migraphx</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-migraphx-json">
<span class="sig-name descname"><span class="pre">--migraphx-json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-migraphx-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Load as MIGraphX JSON</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-batch">
<span class="sig-name descname"><span class="pre">--batch</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span> <span class="pre">(Default:</span> <span class="pre">1)</span></span><a class="headerlink" href="#cmdoption-batch" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Set batch size for model</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-nhwc">
<span class="sig-name descname"><span class="pre">--nhwc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-nhwc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nhwc</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-skip-unknown-operators">
<span class="sig-name descname"><span class="pre">--skip-unknown-operators</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-skip-unknown-operators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Skip unknown operators when parsing and continue to parse.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-nchw">
<span class="sig-name descname"><span class="pre">--nchw</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-nchw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Treat tensorflow format as nchw</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trim">
<span id="cmdoption-t"></span><span class="sig-name descname"><span class="pre">--trim</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-t</span></span><span class="sig-prename descclassname"> <span class="pre">[unsigned</span> <span class="pre">int]</span></span><a class="headerlink" href="#cmdoption-trim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Trim instructions from the end (Default: 0)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-input-dim">
<span class="sig-name descname"><span class="pre">--input-dim</span></span><span class="sig-prename descclassname"> <span class="pre">[std::vector&lt;std::string&gt;]</span></span><a class="headerlink" href="#cmdoption-input-dim" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Dim of a parameter (format: “&#64;name d1 d2 dn”)</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-optimize">
<span id="cmdoption-O"></span><span id="cmdoption-o"></span><span class="sig-name descname"><span class="pre">--optimize</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-O</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-optimize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Optimize when reading</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-graphviz">
<span id="cmdoption-g"></span><span class="sig-name descname"><span class="pre">--graphviz</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-g</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-graphviz" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out a graphviz representation.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-brief">
<span class="sig-name descname"><span class="pre">--brief</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-brief" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Make the output brief.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-cpp">
<span class="sig-name descname"><span class="pre">--cpp</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-cpp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out the program as cpp program.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-json">
<span class="sig-name descname"><span class="pre">--json</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-json" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program as json.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-text">
<span class="sig-name descname"><span class="pre">--text</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in text format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-binary">
<span class="sig-name descname"><span class="pre">--binary</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-binary" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Print out program in binary format.</p>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-output">
<span id="cmdoption-0"></span><span class="sig-name descname"><span class="pre">--output</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[std::string]</span></span><a class="headerlink" href="#cmdoption-output" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p>Output to file.</p>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Welcome to AMD MIGraphX’s documentation! &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Python User Guide" href="py_user_guide.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="#" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor_guide.html">Contributor Guide</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="#">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="#" class="icon icon-home"></a> &raquo;</li>
<li>Welcome to AMD MIGraphX’s documentation!</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="welcome-to-amd-migraphx-s-documentation">
<h1>Welcome to AMD MIGraphX’s documentation!<a class="headerlink" href="#welcome-to-amd-migraphx-s-documentation" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/py.html">Python Reference</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#shape">shape</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#argument">argument</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#target">target</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#program">program</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#parse-onnx">parse_onnx</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#parse-tf">parse_tf</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#load">load</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/py.html#save">save</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/cpp.html">C++ Reference</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#shape">shape</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#argument">argument</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#target">target</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#program">program</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#quantize">quantize</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#parse-onnx">parse_onnx</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#load">load</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/cpp.html#save">save</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a><ul>
<li class="toctree-l2"><a class="reference internal" href="driver.html#read">read</a></li>
<li class="toctree-l2"><a class="reference internal" href="driver.html#compile">compile</a></li>
<li class="toctree-l2"><a class="reference internal" href="driver.html#run">run</a></li>
<li class="toctree-l2"><a class="reference internal" href="driver.html#perf">perf</a></li>
<li class="toctree-l2"><a class="reference internal" href="driver.html#verify">verify</a></li>
<li class="toctree-l2"><a class="reference internal" href="driver.html#roctx">roctx</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributor_guide.html">Contributor Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="dev_intro.html">MIGraphX Fundamentals</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev_intro.html#location-of-the-examples">Location of the Examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev_intro.html#adding-two-literals">Adding Two Literals</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev_intro.html#using-parameters">Using Parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev_intro.html#handling-tensor-data">Handling Tensor Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev_intro.html#importing-from-onnx">Importing From ONNX</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html">Data types</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/data.html#shape">shape</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/data.html#literal">literal</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/data.html#argument">argument</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/data.html#raw-data">raw_data</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/data.html#tensor-view">tensor_view</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html">Operators</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/operators.html#operation">operation</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/operators.html#id1">operators</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html">Program</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/program.html#instruction">instruction</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/program.html#instruction-ref">instruction_ref</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/program.html#id1">program</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/program.html#parse-onnx">parse_onnx</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/program.html#parse-tf">parse_tf</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/program.html#onnx-options">onnx_options</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/program.html#tf-options">tf_options</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html">Targets</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/targets.html#target">target</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/targets.html#gpu-target">gpu::target</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/targets.html#cpu-target">cpu::target</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html">Quantization</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/quantization.html#quantize-fp16">quantize_fp16</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/quantization.html#quantize-int8">quantize_int8</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html">Passes</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#pass">pass</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#dead-code-elimination">dead_code_elimination</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#eliminate-common-subexpression">eliminate_common_subexpression</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#eliminate-concat">eliminate_concat</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#eliminate-contiguous">eliminate_contiguous</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#eliminate-identity">eliminate_identity</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#eliminate-pad">eliminate_pad</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#propagate-constant">propagate_constant</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#rewrite-batchnorm">rewrite_batchnorm</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#rewrite-rnn">rewrite_rnn</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#schedule">schedule</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#simplify-algebra">simplify_algebra</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/pass.html#simplify-reshapes">simplify_reshapes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html">Matchers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/matchers.html#introduction">Introduction</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/matchers.html#arguments">Arguments</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/matchers.html#binding">Binding</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/matchers.html#finding-matches">Finding matches</a></li>
<li class="toctree-l3"><a class="reference internal" href="dev/matchers.html#creating-matchers">Creating matchers</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/tools.html">Tools</a><ul>
<li class="toctree-l3"><a class="reference internal" href="dev/tools.html#roctx-py">roctx.py</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</section>
<section id="indices-and-tables">
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
</ul>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="py_user_guide.html" class="btn btn-neutral float-right" title="Python User Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview &mdash; MIGraphX 2.2 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Data types" href="dev/data.html" />
<link rel="prev" title="Developer Guide" href="developer_guide.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.2
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="developer_guide.html">Developer Guide</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#building-a-program">Building a program</a></li>
<li class="toctree-l3"><a class="reference internal" href="#adding-parameters">Adding parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="#tensor-data">Tensor data</a></li>
<li class="toctree-l3"><a class="reference internal" href="#importing-from-onnx">Importing from onnx</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="dev/data.html">Data types</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/operators.html">Operators</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/program.html">Program</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/targets.html">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/quantization.html">Quantization</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/pass.html">Passes</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/matchers.html">Matchers</a></li>
<li class="toctree-l2"><a class="reference internal" href="dev/tools.html">Tools</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="developer_guide.html">Developer Guide</a> &raquo;</li>
<li>Overview</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/overview.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="overview">
<h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline"></a></h1>
<p>MIGraphX provides an optimized execution engine for deep learning neural networks.</p>
<section id="building-a-program">
<h2>Building a program<a class="headerlink" href="#building-a-program" title="Permalink to this headline"></a></h2>
<p>A program consists of a set of instructions to be executed when calling <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">eval</span></code>. Each instruction has an associated <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">operation</span></code> which represents the computation to be performed by the instruction.</p>
<p>We can start by building a simple program to add two numbers together:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="p">;</span><span class="w"></span>
<span class="n">instruction_ref</span><span class="w"> </span><span class="n">one</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">add_literal</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span><span class="w"></span>
<span class="n">instruction_ref</span><span class="w"> </span><span class="n">two</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">add_literal</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">add_instruction</span><span class="p">(</span><span class="n">add</span><span class="p">{},</span><span class="w"> </span><span class="n">one</span><span class="p">,</span><span class="w"> </span><span class="n">two</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>The <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">add_literal</span></code> function will add an instruction to the program to store a literal number. The <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">instruction_ref</span></code> is a reference to the instruction in the program, which can be used to compose the output of the instruction with another instruction.</p>
<p>After creating the literals, we then create the instruction to add the numbers together. This is done by using the <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">add{}</span></code> operation class along with the <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">instruction_ref</span></code> for the input arguments of the instruction.</p>
<p>Finally, we can run this <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">program</span></code> by compiling it for the cpu and then running it with <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">eval</span></code>:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">cpu</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
<span class="n">argument</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">eval</span><span class="p">({});</span><span class="w"></span>
</pre></div>
</div>
<p>The easiest way to see the result is to print it:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">result</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
<p>Which will print <code class="docutils literal notranslate"><span class="pre">3</span></code>.</p>
<p>We can also compile the program for the gpu as well.</p>
</section>
<section id="adding-parameters">
<h2>Adding parameters<a class="headerlink" href="#adding-parameters" title="Permalink to this headline"></a></h2>
<p>Of course, this program will always produce the same value which is quite uninteresting. Instead, we want to pass an input to a program and compute a value based on the input. This can be done with a parameter. For example, we can modify the program to take an input <code class="docutils literal notranslate"><span class="pre">x</span></code>:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="p">;</span><span class="w"></span>
<span class="n">instruction_ref</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">add_parameter</span><span class="p">(</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="n">shape</span><span class="o">::</span><span class="n">int64_type</span><span class="p">});</span><span class="w"></span>
<span class="n">instruction_ref</span><span class="w"> </span><span class="n">two</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">add_literal</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">add_instruction</span><span class="p">(</span><span class="n">add</span><span class="p">{},</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">two</span><span class="p">);</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">cpu</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
</pre></div>
</div>
<p>This adds a parameter of type <code class="docutils literal notranslate"><span class="pre">int64</span></code>, and compiles it for the <code class="docutils literal notranslate"><span class="pre">cpu</span></code>. To run the program, we need to pass the parameter to it when we call <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">eval</span></code>:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">argument</span><span class="w"> </span><span class="n">result</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">eval</span><span class="p">({</span><span class="w"></span>
<span class="w"> </span><span class="p">{</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">literal</span><span class="p">{</span><span class="mi">1</span><span class="p">}.</span><span class="n">get_argument</span><span class="p">()}</span><span class="w"></span>
<span class="p">});</span><span class="w"></span>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">result</span><span class="p">;</span><span class="w"></span>
</pre></div>
</div>
<p>This will print <code class="docutils literal notranslate"><span class="pre">3</span></code>.</p>
<p>A parameter is given as an <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">argument</span></code>. In this case, the simplest way of creating an <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">argument</span></code> is from a <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">literal</span></code>.</p>
</section>
<section id="tensor-data">
<h2>Tensor data<a class="headerlink" href="#tensor-data" title="Permalink to this headline"></a></h2>
<p>In this example we are just creating numbers, but the <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">shape</span></code> class can describe multi-dimensional tensors. For example, we can build a simple network with convolution and relu:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="p">;</span><span class="w"></span>
<span class="n">instruction_ref</span><span class="w"> </span><span class="n">input</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">add_parameter</span><span class="p">(</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">shape</span><span class="p">{</span><span class="n">shape</span><span class="o">::</span><span class="n">float_type</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">32</span><span class="p">,</span><span class="w"> </span><span class="mi">32</span><span class="p">}});</span><span class="w"></span>
<span class="n">instruction_ref</span><span class="w"> </span><span class="n">weights</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">add_parameter</span><span class="p">(</span><span class="s">&quot;w&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">shape</span><span class="p">{</span><span class="n">shape</span><span class="o">::</span><span class="n">float_type</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">}});</span><span class="w"></span>
<span class="n">instruction_ref</span><span class="w"> </span><span class="n">conv</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">p</span><span class="p">.</span><span class="n">add_instruction</span><span class="p">(</span><span class="n">convolution</span><span class="p">{},</span><span class="w"> </span><span class="n">input</span><span class="p">,</span><span class="w"> </span><span class="n">weights</span><span class="p">);</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">add_instruction</span><span class="p">(</span><span class="n">activation</span><span class="p">{</span><span class="s">&quot;relu&quot;</span><span class="p">},</span><span class="w"> </span><span class="n">conv</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p>Here we create two parameters for both the <code class="docutils literal notranslate"><span class="pre">input</span></code> and <code class="docutils literal notranslate"><span class="pre">weights</span></code>. In the previous examples, we just created simple literals, however, most programs will take data from already allocated buffers(usually on the GPU). In this case, we can create <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">argument</span></code> objects directly from the pointers to the buffers:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// Compile the program</span>
<span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">gpu</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
<span class="c1">// Allocated buffers by the user</span>
<span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">input</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">...;</span><span class="w"></span>
<span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">weights</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">...;</span><span class="w"></span>
<span class="c1">// Create the arguments</span>
<span class="n">argument</span><span class="w"> </span><span class="n">input_arg</span><span class="p">{</span><span class="n">shape</span><span class="p">{</span><span class="n">shape</span><span class="o">::</span><span class="n">float_type</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">32</span><span class="p">,</span><span class="w"> </span><span class="mi">32</span><span class="p">}},</span><span class="w"> </span><span class="n">input</span><span class="p">};</span><span class="w"></span>
<span class="n">argument</span><span class="w"> </span><span class="n">weights_arg</span><span class="p">{</span><span class="n">shape</span><span class="p">{</span><span class="n">shape</span><span class="o">::</span><span class="n">float_type</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">32</span><span class="p">,</span><span class="w"> </span><span class="mi">32</span><span class="p">}},</span><span class="w"> </span><span class="n">weights</span><span class="p">};</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">eval</span><span class="p">({{</span><span class="s">&quot;x&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">input_arg</span><span class="p">},</span><span class="w"> </span><span class="p">{</span><span class="s">&quot;w&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">weights_arg</span><span class="p">}})</span><span class="w"></span>
</pre></div>
</div>
<p>An <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">argument</span></code> can handle memory buffers from either the GPU or the CPU, but when running the <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">program</span></code>, buffers should be allocated for the corresponding target. That is, when compiling for the CPU, the buffers should be allocated on the CPU, and when compiling for the GPU the buffers should be allocated on the GPU.</p>
</section>
<section id="importing-from-onnx">
<h2>Importing from onnx<a class="headerlink" href="#importing-from-onnx" title="Permalink to this headline"></a></h2>
<p>A <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">program</span></code> can be built directly from an onnx file, which makes it easier to use neural networks directly from other frameworks. In this case, there is an <code class="docutils literal notranslate"><span class="pre">parse_onnx</span></code> function:</p>
<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="n">program</span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">parse_onnx</span><span class="p">(</span><span class="s">&quot;model.onnx&quot;</span><span class="p">);</span><span class="w"></span>
<span class="n">p</span><span class="p">.</span><span class="n">compile</span><span class="p">(</span><span class="n">gpu</span><span class="o">::</span><span class="n">target</span><span class="p">{});</span><span class="w"></span>
</pre></div>
</div>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="developer_guide.html" class="btn btn-neutral float-left" title="Developer Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="dev/data.html" class="btn btn-neutral float-right" title="Data types" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Python Module Index &mdash; MIGraphX 2.1 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<script>
DOCUMENTATION_OPTIONS.COLLAPSE_INDEX = true;
</script>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> MIGraphX
</a>
<div class="version">
2.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="py_user_guide.html">Python User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="cpp_user_guide.html">C++ User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="driver.html">MIGraphX Driver</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor_guide.html">Contributor Guide</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">MIGraphX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>Python Module Index</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Python Module Index</h1>
<div class="modindex-jumpbox">
<a href="#cap-m"><strong>m</strong></a>
</div>
<table class="indextable modindextable">
<tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
<tr class="cap" id="cap-m"><td></td><td>
<strong>m</strong></td><td></td></tr>
<tr>
<td></td>
<td>
<a href="reference/py.html#module-migraphx"><code class="xref">migraphx</code></a></td><td>
<em></em></td></tr>
</table>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018-2022, AMD.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment