Unverified Commit 0b2d11a5 by Tianqi Chen Committed by GitHub

[DOCS] Introduce how to add hardware backend to FAQ (#4898)

parent 13140916
......@@ -19,4 +19,4 @@ tvm.target
----------
.. automodule:: tvm.target
:members:
:imported-members:
:imported-members:
......@@ -15,6 +15,8 @@
specific language governing permissions and limitations
under the License.
.. _relay-bring-your-own-codegen:
=============================
Bring Your Own Codegen To TVM
=============================
......
<!--- Licensed to the Apache Software Foundation (ASF) under one -->
<!--- or more contributor license agreements. See the NOTICE file -->
<!--- distributed with this work for additional information -->
<!--- regarding copyright ownership. The ASF licenses this file -->
<!--- to you under the Apache License, Version 2.0 (the -->
<!--- "License"); you may not use this file except in compliance -->
<!--- with the License. You may obtain a copy of the License at -->
<!--- http://www.apache.org/licenses/LICENSE-2.0 -->
<!--- Unless required by applicable law or agreed to in writing, -->
<!--- software distributed under the License is distributed on an -->
<!--- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -->
<!--- KIND, either express or implied. See the License for the -->
<!--- specific language governing permissions and limitations -->
<!--- under the License. -->
.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.. http://www.apache.org/licenses/LICENSE-2.0
.. Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
Frequently Asked Questions
==========================
This document contains frequently asked questions.
How to Install
--------------
See [Installation](http://docs.tvm.ai/install/)
See :ref:`installation`.
How to add a new Hardware Backend
---------------------------------
- If the hardware backend has LLVM support,
then we can directly generate the code by setting the correct target triple as in :py:mod:`~tvm.target`.
- If the target hardware is a GPU, try to use the cuda, opencl or vulkan backend.
- If the target hardware is a special accelerator,
checkout :ref:`vta-index` and :ref:`relay-bring-your-own-codegen`.
- For all of the above cases, You may want to add target specific
optimization templates using AutoTVM, see :ref:`tutorials-autotvm-sec`.
- Besides using LLVM's vectorization, we can also embed micro-kernels to leverage hardware intrinsics,
see :ref:`tutorials-tensorize`.
TVM's relation to Other IR/DSL Projects
---------------------------------------
......@@ -41,9 +57,8 @@ end-to-end compilation stack.
TVM's relation to libDNN, cuDNN
------------------------------
-------------------------------
TVM can incorporate these libraries as external calls. One goal of TVM is to be able to
generate high-performing kernels. We will evolve TVM an incremental manner as
we learn from the techniques of manual kernel crafting and add these as primitives in DSL.
See also [TVM Operator Inventory](https://github.com/apache/incubator-tvm/tree/master/topi) for
recipes of operators in TVM.
See also top for recipes of operators in TVM.
......@@ -15,6 +15,8 @@
specific language governing permissions and limitations
under the License.
.. _installation:
Installation
============
To install TVM, please read :ref:`install-from-source`.
......
......@@ -15,6 +15,8 @@
specific language governing permissions and limitations
under the License.
.. _vta-index:
VTA: Deep Learning Accelerator Stack
====================================
......@@ -50,4 +52,4 @@ Literature
- Read the VTA tech report: `An Open Hardware Software Stack for Deep Learning`_.
.. _release blog post: https://tvm.apache.org/2018/07/12/vta-release-announcement
.. _An Open Hardware Software Stack for Deep Learning: https://arxiv.org/abs/1807.04188
\ No newline at end of file
.. _An Open Hardware Software Stack for Deep Learning: https://arxiv.org/abs/1807.04188
Auto tuning
-------------
.. _tutorials-autotvm-sec:
Auto tuning
-----------
......@@ -15,6 +15,8 @@
# specific language governing permissions and limitations
# under the License.
"""
.. _tutorials-tensorize:
Use Tensorize to Leverage Hardware Intrinsics
=============================================
**Author**: `Yizhi Liu <https://github.com/yzhliu>`_
......
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