• Scott Cyphers's avatar
    GetOutputElement removal preparation (#4425) · 0af33226
    Scott Cyphers authored
    * GetOutputElement removal preparation
    
    Not all outputs are used so don't force them to be connected in replace
    Add pattern that matches on any output
    Remove GOEs by default, allow to disable
    Fix failing core passes/tests with GOE dependency
    
    * Fix MLIR call
    
    * Fix value handle assignment
    
    * Cleanup
    
    * style
    
    * review comments
    
    * Fix onnx tests
    
    * Allow simplifcations to work on multi-values nodes
    
    * Disable goe removal for MLIR test
    
    * null init of Output
    Co-authored-by: 's avatarnmostafa <nagy.h.mostafa@intel.com>
    Unverified
    0af33226
Name
Last commit
Last update
.ci Update license header for 2020 (#4111)
cmake LLVM 9.0.1 (#4275)
contrib/docker Peg virtualenv to version 16.7.10 (#4405)
doc Remove distributed implementations (#4380)
licenses Add MLIR license file to ngraph/licenses/
maint Update license header for 2020 (#4111)
python Fixed python build (#4418)
src GetOutputElement removal preparation (#4425)
test GetOutputElement removal preparation (#4425)
.clang-format clang-format comments: /src/ngraph/op/util (#3498)
.gitattributes Normalize line endings (#1649)
.gitignore GetOutputElement removal preparation (#4425)
.travis.yml Travis tests bugfix (#1550)
ABOUT.md Latest illustrations of nG components and features (#3617)
CMakeLists.txt Trying to compile with hidden visibility (#4440)
CODEOWNERS Update CODEOWNERS (#4414)
CONTRIB.md Leona/markdown links (#3529)
LICENSE Add LICENSE and switch to Intel Copyright (#466)
README.md Update README.md (#4427)
VERSION.in Auto generate version number and apply it to install dir and libngraph.so (#925)
changes.md Convert remaining dynamic_pointer_casts for ops (#3642)
ecosystem-overview.md [ONNX] Remove support for ONNXIFI (#4190)
environment_variables.md [MLIR] Add some sane utilities for environment variable handling (#4103)

nGraph Compiler stack License Build Status

Quick start

To begin using nGraph with popular frameworks, please refer to the links below.

Framework (Version) Installation guide Notes
TensorFlow* Pip install or Build from source 20 Validated workloads
ONNX 1.5 Pip install 17 Validated workloads

Python wheels for nGraph

The Python wheels for nGraph have been tested and are supported on the following 64-bit systems:

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

To install via pip, run:

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

Frameworks using nGraph Compiler stack to execute workloads have shown up to 45X performance boost when compared to native framework implementations. We've also seen performance boosts running workloads that are not included on the list of
Validated workloads, thanks to nGraph's powerful subgraph pattern matching.

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, and recent changes to the stack are explained in the Release Notes.

What is nGraph Compiler?

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.

The diagram below shows deep learning frameworks and hardware targets supported by nGraph. NNP-T and NNP-I in the diagram refer to Intel's next generation deep learning accelerators: Intel:registered: Nervana:tm: Neural Network Processor for Training and Inference respectively. Future plans for supporting addtional deep learning frameworks and backends are outlined in the ecosystem section.

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

How to contribute

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

  • See the contrib guide for code formatting and style guidelines.
  • Share your proposal via GitHub issues.
  • 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.
  • Make sure your PR passes all CI tests. Note: You can test locally with make check.

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.