README.md 5.51 KB
Newer Older
Leona C's avatar
Leona C committed
1
![nGraph Compiler stack](doc/sphinx/source/graphics/ngraph_header.png)
2
[![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
3

4
<div align="left">
5
  <h4>
Leona C's avatar
Leona C committed
6
    <a href="./ABOUT.md">Architecture &amp; features</a> | <a href="./ecosystem-overview.md" >Ecosystem</a> | <a href="https://www.ngraph.ai/documentation/project/release-notes">Release notes</a><span> | </span> <a href="https://www.ngraph.ai/documentation">Documentation</a><span> | </span> <a href="#How-to-contribute" >Contribution guide</a>
7
 </h4>
8
</div>
9

10
## Quick start
11

Leona C's avatar
Leona C committed
12
To begin using nGraph with popular frameworks, please refer to the links below. 
L.S. Cook's avatar
L.S. Cook committed
13

14
|  Framework (Version)       | Installation guide                     | Notes  
15
|----------------------------|----------------------------------------|-----------------------------------
Leona C's avatar
Leona C committed
16 17
| TensorFlow*                | [Pip install](https://www.ngraph.ai/tutorials/tensorflow-tutorial#use-pre-built-packages) or [Build from source](https://www.ngraph.ai/tutorials/tensorflow-tutorial#build-from-source) | 20 [Validated workloads]   
| ONNX 1.5                   | [Pip install](https://www.ngraph.ai/tutorials/onnx-tutorial#use-pre-built-packages)                          | 17 [Validated workloads] 
18

19 20 21 22

#### Python wheels for nGraph 

The Python wheels for nGraph have been tested and are supported on the following 
23
64-bit systems:
24 25 26 27 28 29

* Ubuntu 16.04 or later
* CentOS 7.6
* Debian 10
* macOS 10.14.3 (Mojave)

30 31 32 33 34 35 36 37 38
To install via pip, run: 

```python

pip install --upgrade pip==19.3.1
pip install ngraph-core
```


39
Frameworks using nGraph Compiler stack to execute workloads have shown 
L.S. Cook's avatar
L.S. Cook committed
40 41
[**up to 45X**](https://ai.intel.com/ngraph-compiler-stack-beta-release/) 
performance boost when compared to native framework implementations. We've also 
Leona C's avatar
Leona C committed
42
seen performance boosts running workloads that are not included on the list of  
Leona C's avatar
Leona C committed
43
[Validated workloads], thanks to nGraph's powerful subgraph pattern matching.
44

Leona C's avatar
Leona C committed
45 46 47
Additionally we have integrated nGraph with [PlaidML] to provide deep learning 
performance acceleration on Intel, nVidia, & AMD GPUs. More details on current 
architecture of the nGraph Compiler stack can be found in [Architecture and features],
48
and recent changes to the stack are explained in the [Release Notes].
49 50

## What is nGraph Compiler? 
51

Leona C's avatar
Leona C committed
52 53 54
nGraph Compiler aims to accelerate developing AI workloads using any deep learning
framework and deploying to a variety of hardware targets. We strongly believe in 
providing freedom, performance, and ease-of-use to AI developers. 
55

Leona C's avatar
Leona C committed
56
The diagram below shows deep learning frameworks and hardware targets
57 58
supported by nGraph. NNP-T and NNP-I in the diagram refer to Intel's next generation 
deep learning accelerators: Intel® Nervana™ Neural Network Processor for Training and 
harryskim's avatar
harryskim committed
59
Inference respectively.  Future plans for supporting addtional deep learning frameworks 
60
and backends are outlined in the [ecosystem] section. 
61

62
![](doc/sphinx/source/graphics/nGraph_main.png)
63

64

65 66
Our documentation has extensive information about how to use nGraph Compiler 
stack to create an nGraph computational graph, integrate custom frameworks, 
67
and to interact with supported backends. If you wish to contribute to the 
68 69
project, please don't hesitate to ask questions in [GitHub issues] after 
reviewing our contribution guide below. 
70
	
71

72
## How to contribute
73

74
We welcome community contributions to nGraph. If you have an idea how
75
to improve it:
76

77
* See the [contrib guide] for code formatting and style guidelines.
78
* Share your proposal via [GitHub issues].
79 80 81
* 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].
82
* Make sure your PR passes all CI tests. Note: You can test locally with `make check`.
83 84 85 86

 We will review your contribution and, if any additional fixes or modifications are 
 necessary, may provide feedback to guide you. When accepted, your pull request will 
 be merged to the repository.
87

88

L.S. Cook's avatar
L.S. Cook committed
89
[Ecosystem]: ./ecosystem-overview.md
90 91 92
[Architecture and features]: ./ABOUT.md
[Documentation]: https://www.ngraph.ai/documentation
[build the Library]:  https://www.ngraph.ai/documentation/buildlb
93
[Getting Started Guides]: Getting-started-guides
94
[Validated workloads]: https://www.ngraph.ai/documentation/frameworks/validated/list
95 96
[Functional]: https://github.com/NervanaSystems/ngraph-onnx/ 
[How to contribute]: How-to-contribute
97
[framework integration guides]: https://ngraph.ai/documentation/frameworks/overview
Leona C's avatar
Leona C committed
98
[release notes]: https://www.ngraph.ai/documentation/project/release-notes
99
[Github issues]: https://github.com/NervanaSystems/ngraph/issues
Leona C's avatar
Leona C committed
100
[contrib guide]: https://www.ngraph.ai/documentation/contributing/guide
101
[pull request]: https://github.com/NervanaSystems/ngraph/pulls
Leona C's avatar
Leona C committed
102
[how to import]: https://www.ngraph.ai/tutorials/onnx-tutorial#import-a-model-with-onnx-and-ngraph
103
[ngraph_wireframes_with_notice]: doc/sphinx/source/graphics/nGraph_main.png "nGraph components"
104 105
[build-status]: https://travis-ci.org/NervanaSystems/ngraph/branches
[build-status-badge]: https://travis-ci.org/NervanaSystems/ngraph.svg?branch=master
106
[PlaidML]: https://github.com/plaidml/plaidml
107
[Source compile]: https://github.com/NervanaSystems/ngraph-mxnet/blob/master/README.md
108 109 110
[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