See the latest Release Notes.
nGraph is an open-source C++ library, compiler stack, and runtime accelerator for software engineering in the Deep Learning ecosystem. nGraph simplifies development and makes it possible to design, write, compile, and deploy Deep Neural Network-based solutions that can be adapted and deployed across many frameworks and backends. A more detailed explanation, as well as a high-level overview, can be found on our project Architecture, Features, FAQs. For more generalized discussion on the ecosystem, see the ecosystem document.
We have many documentation pages to help you get started.
TensorFlow or MXNet users can get started with Integrate Supported Frameworks; see also:
Framework authors and architects will likely want to Build the Library and learn how nGraph can be used to Execute a computation. For examples of generic configurations or optimizations available when designing or bridging a framework directly with nGraph, see Working with other frameworks.
To start learning about nGraph’s set of Core ops and how they can be used with Ops from other frameworks, go to About Core Ops.
For details about PlaidML integration and other nGraph runtime APIs, see the section Interact with Backends.
|Framework||Bridge Available?||ONNX Support?|
|Other||Write your own||Custom|
|Backend||Current support||Future nGraph support|
|Intel® Architecture Processors (CPUs)||Yes||Yes|
|Intel® Nervana™ Neural Network Processor (NNPs)||Yes||Yes|
|Intel® Architecture GPUs||Yes||Yes|
|AMD* GPUs||via PlaidML||Yes|
|Field Programmable Gate Arrays (FPGAs)||Coming soon||Yes|
|NVIDIA* GPUs||via PlaidML||Some|
|Intel Movidius™ Myriad™ 2 (VPU)||Coming soon||Yes|
The code in this repo is under active development as we’re continually adding support for more kinds of DL models and ops, compiler optimizations, and backend optimizations.