index.rst 1.76 KB
Newer Older
1
.. backend-support/index.rst
L.S. Cook's avatar
L.S. Cook committed
2 3


4 5
About backends
##############
6

7
* :ref:`what_is_backend`
8 9 10 11 12 13
* :ref:`hybrid_transformer`
* :ref:`cpu_backend`
* :ref:`plaidml_backend`
* :ref:`gpu_backend`


14 15 16 17
.. _what_is_backend:

What's a backend?
-----------------
L.S. Cook's avatar
L.S. Cook committed
18

19 20 21 22 23 24
In the nGraph Compiler stack, what we call a *backend* is responsible for 
function execution and value allocation. A  backend can be used to 
:doc:`carry out a programmed computation<../core/constructing-graphs/execute>` 
from a framework on a CPU or GPU; or it can be used with an *Interpreter* mode, 
which is primarily intended for testing, to analyze a program, or to help a 
framework developer customize targeted solutions. Experimental APIs to support 
25
current and future nGraph Backends are also available; see, for example, the 
26
section on the :ref:`plaidml_backend`.
27

Leona C's avatar
Leona C committed
28 29 30 31 32 33 34 35 36
.. csv-table::
   :header: "Backend", "Current nGraph support", "Future nGraph support"
   :widths: 35, 10, 10

   Intel® Architecture Processors (CPUs), Yes, Yes
   Intel® Nervana™ Neural Network Processor™ (NNPs), Yes, Yes
   NVIDIA\* CUDA (GPUs), Yes, Some 
   AMD\* GPUs, Yes, Some

L.S. Cook's avatar
L.S. Cook committed
37

38
.. _hybrid_transformer:
L.S. Cook's avatar
L.S. Cook committed
39

40 41
Hybrid Transformer
==================
L.S. Cook's avatar
L.S. Cook committed
42

43
More detail coming soon
L.S. Cook's avatar
L.S. Cook committed
44 45


46
.. _cpu_backend:
L.S. Cook's avatar
L.S. Cook committed
47

48 49
CPU Backend
===========
L.S. Cook's avatar
L.S. Cook committed
50

51
More detail coming soon
L.S. Cook's avatar
L.S. Cook committed
52 53


54
.. _gpu_backend:
L.S. Cook's avatar
L.S. Cook committed
55

56 57
GPU Backend
===========
58

59
More detail coming soon 
60 61 62 63 64 65


.. _plaidml_backend:

PlaidML Backend
===============
66 67 68 69 70 71 72 73

The nGraph ecosystem has recently added initial (experimental) support for `PlaidML`_,
which is an advanced :abbr:`Machine Learning (ML)` library that can further
accelerate training models built on GPUs. When you select the ``PlaidML`` option
as a backend, it behaves as an advanced tensor compiler that can further speed up
training with large data sets.

.. _PlaidML: https://github.com/plaidml