:orphan:

.. _tutorials-autotvm-sec:

Auto-Tune with Templates and AutoTVM
------------------------------------

AutoTVM offers a way to tune models and operators by providing a template
schedule, and searcing the parameter space defined by the template. These
how-tos demonstrate how to write template schedules and optimize them for a
variety of different hardware platforms.



.. raw:: html

    <div class="sphx-glr-thumbnails">


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This is an advanced tutorial for writing high performance tunable template for NVIDIA GPU. By r...">

.. only:: html

  .. image:: /how_to/tune_with_autotvm/images/thumb/sphx_glr_tune_conv2d_cuda_thumb.png
    :alt: Tuning High Performance Convolution on NVIDIA GPUs

  :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Tuning High Performance Convolution on NVIDIA GPUs</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Auto-tuning for specific devices and workloads is critical for getting the best performance. Th...">

.. only:: html

  .. image:: /how_to/tune_with_autotvm/images/thumb/sphx_glr_tune_relay_cuda_thumb.png
    :alt: Auto-tuning a Convolutional Network for NVIDIA GPU

  :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Auto-tuning a Convolutional Network for NVIDIA GPU</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This is a tutorial about how to tune convolution neural network for x86 CPU.">

.. only:: html

  .. image:: /how_to/tune_with_autotvm/images/thumb/sphx_glr_tune_relay_x86_thumb.png
    :alt: Auto-tuning a Convolutional Network for x86 CPU

  :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Auto-tuning a Convolutional Network for x86 CPU</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Auto-tuning for a specific ARM device is critical for getting the best performance. This is a t...">

.. only:: html

  .. image:: /how_to/tune_with_autotvm/images/thumb/sphx_glr_tune_relay_arm_thumb.png
    :alt: Auto-tuning a Convolutional Network for ARM CPU

  :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Auto-tuning a Convolutional Network for ARM CPU</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Auto-tuning for a specific device is critical for getting the best performance. This is a tutor...">

.. only:: html

  .. image:: /how_to/tune_with_autotvm/images/thumb/sphx_glr_tune_relay_mobile_gpu_thumb.png
    :alt: Auto-tuning a Convolutional Network for Mobile GPU

  :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Auto-tuning a Convolutional Network for Mobile GPU</div>
    </div>


.. raw:: html

    </div>


.. toctree::
   :hidden:

   /how_to/tune_with_autotvm/tune_conv2d_cuda
   /how_to/tune_with_autotvm/tune_relay_cuda
   /how_to/tune_with_autotvm/tune_relay_x86
   /how_to/tune_with_autotvm/tune_relay_arm
   /how_to/tune_with_autotvm/tune_relay_mobile_gpu



.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_