README.md 6.07 KB
Newer Older
1
# nGraph Compiler Stack
2

3
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/NervanaSystems/ngraph/blob/master/LICENSE) [![Build Status][build-status-badge]][build-status] 
L.S. Cook's avatar
L.S. Cook committed
4

5
<div align="left">
6 7 8
  <h4>
    <a href="./ABOUT.md">Architecture & features</a> | <a href="./ecosystem-overview.md" >Ecosystem</a> | <a href="https://ngraph.nervanasys.com/docs/latest/project/release-notes.html">Release notes</a><span> | </span> <a href="https://ngraph.nervanasys.com/docs/latest">Documentation</a><span> | </span> <a href="#How-to-contribute" >Contribution guide</a>
 </h4>
9
</div>
10

11
## Quick start
12

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

14 15
To begin using nGraph with popular frameworks to accelerate deep learning 
workloads on CPU for inference, please refer to the links below. 
L.S. Cook's avatar
L.S. Cook committed
16

17
|  Framework (Version)       | Installation guide                     | Notes  
18 19 20
|----------------------------|----------------------------------------|-----------------------------------
| TensorFlow* 1.12           | [Pip package] or [Build from source]   | 17 [Validated workloads]
| MXNet* 1.4                 | [Enable the module] or [Source compile]| 17 [Validated workloads]   
21
| ONNX 1.3                   | [Pip package]                          | 14 [Validated workloads] 
22

23
Frameworks using nGraph Compiler stack to execute workloads have shown 
24
**up to 45X** performance boost when compared to native framework 
25 26
implementations. We've also seen performance boosts running workloads that 
are not included on the list of [Validated workloads], thanks to our 
27
powerful subgraph pattern matching.
28

29
Additional work is also being done via [PlaidML] which will feature running 
30
compute for Deep Learning with GPU accleration. See our 
31 32 33 34 35
[Architecture and features] for what the stack looks like today and watch our 
[Release Notes] for recent changes.


## What is nGraph Compiler? 
36

37 38 39 40
nGraph Compiler aims to accelerate developing and deploying AI workloads 
using any deep learning framework with a variety of hardware targets. 
We strongly believe in providing freedom, performance, and ease-of-use to AI 
developers. 
41

42
The diagram below shows what deep learning frameworks and hardware targets
43
we support. More details on these current and future plans are in the [ecosystem]
44 45 46
section. 


47
![nGraph wireframe][ngraph_wireframes_with_notice]
48

49

50
While the ecosystem shown above is all functioning, we have validated 
51 52 53 54 55
performance for deep learning inference on CPU processors such as Intel® Xeon®. 
Please refer to the [Release notes] to learn more. The Gold release 
is targeted for April 2019; it will feature broader workload coverage, 
including quantized graphs, and more detail on our advanced support for 
``int8``. 
56

57 58
Our documentation has extensive information about how to use nGraph Compiler 
stack to create an nGraph computational graph, integrate custom frameworks, 
59
and to interact with supported backends. If you wish to contribute to the 
60 61
project, please don't hesitate to ask questions in [GitHub issues] after 
reviewing our contribution guide below. 
62 63


64
## How to contribute
65

66
We welcome community contributions to nGraph. If you have an idea how
67
to improve it:
68

69
* See the [contrib guide] for code formatting and style guidelines.
70
* Share your proposal via [GitHub issues].
71 72 73
* Ensure you can build the product and run all the examples with your patch.
* In the case of a larger feature, create a test.
* Submit a [pull request].
74 75 76
* Make sure your PR passes all CI tests. Note: our [Travis-CI][build-status] service
  runs only on a CPU backend on Linux. We will run additional tests
  in other environments.
77 78
* We will review your contribution and, if any additional fixes or
  modifications are necessary, may provide feedback to guide you. When
79
  accepted, your pull request will be merged to the repository.
80

81

82
[Ecosystem]: ecosystem-overview
83 84 85 86 87 88 89
[Architecture and features]:https://ngraph.nervanasys.com/docs/latest/project/about.html
[Documentation]: https://ngraph.nervanasys.com/docs/latest
[build the Library]: https://ngraph.nervanasys.com/docs/latest/buildlb.html
[Getting Started Guides]: Getting-started-guides
[Validated workloads]: https://ngraph.nervanasys.com/docs/latest/frameworks/validation-testing.html
[Functional]: https://github.com/NervanaSystems/ngraph-onnx/ 
[How to contribute]: How-to-contribute
90
[framework integration guides]: http://ngraph.nervanasys.com/docs/latest/framework-integration-guides.html
91
[release notes]: https://ngraph.nervanasys.com/docs/latest/project/release-notes.html
92
[Github issues]: https://github.com/NervanaSystems/ngraph/issues
93
[contrib guide]: https://ngraph.nervanasys.com/docs/latest/project/code-contributor-README.html
94
[pull request]: https://github.com/NervanaSystems/ngraph/pulls
95
[how to import]: https://ngraph.nervanasys.com/docs/latest/howto/import.html
96
[ngraph_wireframes_with_notice]: doc/sphinx/source/graphics/ngraph_wireframes_with_notice.png "nGraph wireframe"
97
[ngraph-compiler-stack-readme]: doc/sphinx/source/graphics/ngraph-compiler-stack-readme.png "nGraph Compiler Stack"
98 99
[build-status]: https://travis-ci.org/NervanaSystems/ngraph/branches
[build-status-badge]: https://travis-ci.org/NervanaSystems/ngraph.svg?branch=master
100
[develop-without-lockin]: doc/sphinx/source/graphics/develop-without-lockin.png "Develop on any part of the stack wtihout lockin"
L.S. Cook's avatar
L.S. Cook committed
101
[Movidius™ Myriad™ 2]:https://www.movidius.com/solutions/vision-processing-unit
102 103 104
[PlaidML]: https://github.com/plaidml/plaidml
[Pip package]: https://github.com/NervanaSystems/ngraph-onnx#installing-ngraph-onnx
[Build from source]: https://github.com/NervanaSystems/ngraph-tf
105
[Enable the module]: https://github.com/NervanaSystems/ngraph/blob/mbrookhart/mxnet_tutorial/doc/sphinx/source/shared/mxnet_tutorial.rst
106 107 108 109 110 111
[Source compile]: https://github.com/NervanaSystems/ngraph-mxnet/blob/master/NGRAPH_README.md
[nGraph-ONNX]: https://github.com/NervanaSystems/ngraph-onnx/blob/master/README.md
[nGraph-ONNX adaptable]: https://ai.intel.com/adaptable-deep-learning-solutions-with-ngraph-compiler-and-onnx/
[nGraph for PyTorch developers]: https://ai.intel.com/investing-in-the-pytorch-developer-community
[Validated workloads]: https://ngraph.nervanasys.com/docs/latest/frameworks/validation-testing.html